var $custDetail = $('#custDetail'); //公司资料
var $contactListDetail = $('#contactListDetail'); //联系人名录
var $memberFinishOrderProductDetail = $('#memberFinishOrderProductDetail'); //产品明细  会员产品
var $nonMemberFinishOrderProductDetail = $('#nonMemberFinishOrderProductDetail'); //非会员产品
var $contractDetail = $('#contractDetail'); //合同
var $orderDetail = $('#orderDetail'); //订单
var $modificationRecordListDetail = $('#modificationRecordListDetail');  //修改记录
var $demandAnalysisListDetail = $('#demandAnalysisListDetail');  //需求分析
var $competitorListDetail = $('#competitorListDetail');  //竞品列表
var $opportunityListDetail = $('#opportunityListDetail');  //商机管理
var $followUpRecordDetail = $('#followUpRecordDetail');  //跟进记录
var $visitRecordDetail = $('#visitRecordDetail');  //拜访记录
var $cardList = $('#cardList');  //会员卡
var $taxCardList = $('#taxCardList');  //税法直通车
var customerPoolId = $('#customerPoolId').text();
var customerId = $('#customerId').text();
var customerCompanyInfoId = "";
var scoreLevel = $("#scoreId").val();
//var $redeemProductsTableDetail = $('#redeemProductsTableDetail');//兑换产品
var $exchange = $('#exchangeDetail');//兑换
var $addBeforeExchange = $('#addBeforeExchange');//兑换前产品
var $addAfterExchange = $('#addAfterExchange');//兑换后产品
var $renewTable = $('#renewTable');//新增续费
var renewContractNumber = ""; // 续费合同编号
var filterContent = ['先生', '小姐','女士','老师','会计'];


//防止表头与表格不对齐
$(window).resize(function () {
    $custDetail.bootstrapTable('resetView');
    $contactListDetail.bootstrapTable('resetView');
    $modificationRecordListDetail.bootstrapTable('resetView');  //修改记录
    $renewTable.bootstrapTable('resetView');
    $cardList.bootstrapTable('resetView');
    $taxCardList.bootstrapTable('resetView');
});

/**
 * 功能：标签回显
 * */
function tagsShow(data) {
    if (data) {
        var tagsArr = data.split(',');
        $('#tagsBox').html('');
        $.each(tagsArr, function (index, element) {
            $('#tagsBox').append('<span>' + element + '</span>');
        });
    } else {
        $('#tagsBox').html('<span class="no-tag">暂无标签</span>');
    }
}

$(function () {
    $('#editInfo').on('click', function () {
        infoModalEcho();
    });

    $('#defray').selectpicker({
        sanitize: true,
        size: 12
    });

    // 编辑弹窗显示时刷新弹窗内容
    $('.modal').on('hide.bs.modal', function () {
        $(this).find('form').bootstrapValidator('resetForm');
    });

    $('select').selectpicker({
        size: 12
    });
    $('.modal').on('hidden.bs.modal', function () {
        $(this).find('select').selectpicker('refresh');
    }).on('show.bs.modal', function () {
        $(this).find('select').selectpicker('refresh');
    });
    // 标签回显
    tagsShow(customer.tag);

    // $('#editInfoModal').modal('show');

    $('#moreInfo').on('show.bs.collapse', function () {
        $('#btnCollapse').html('点击收起 <i class="mdi mdi-chevron-double-up"></i>');
    }).on('hide.bs.collapse', function () {
        $('#btnCollapse').html('更多详情 <i class="mdi mdi-chevron-double-down"></i>');
    });

    //设置初始跳转跟进记录（遗忘提醒）页面
    hrefType = $('#hrefType').val();
    $("#"+hrefType).click();

    $("#registrationTime").datepicker({
        language: "zh-CN",
        autoclose: true,
        clearBtn: true,
        todayHighlight: true,
        format: "yyyy-mm-dd"
    });

    // getProvince();
    companyInfo();
    companyInformationc('0');
    $('.top').css('display', 'flex');
    $(".topEdit").css('display', 'none');

    // 评分插件
    score('#showScore');

    $('#tag').on('itemRemoved', function(event) {
        if ($(this).val() == '') {
            $(this).attr('value', $(this).val());
        }
    });

    // 编辑客户信息表单验证
    $('#editInfoForm').bootstrapValidator(validatorJson);

    timeData();

    // 附加费用
    $('#surcharge').on('change', function () {
        if ($(this).val() == '' || $(this).val() == '0') {
            $('.surcharge-remarks').hide();
        } else {
            $('.surcharge-remarks').show();
        }
        priceTotal();
    });

    // 解决table中点击行选中与checkbox冲突问题
    $('table').on('load-success.bs.table', function (e,data) {
        $(e.target).find('label.lyear-checkbox').on('click', function (e) {
            e.stopPropagation();
        })
    });
    //续费弹框验证
    $('#renewDetailForm').bootstrapValidator({
        fields: {
            orderSurchargeRemark:{
                validators: {
                    notEmpty: {
                        message: '备注不能为空'
                    }
                }
            },
            customerContractList:{
                validators: {
                    notEmpty: {
                        message: '客户联系人不能为空'
                    }
                }
            },
            contractDate:{
                trigger:"change",
                validators: {
                    notEmpty: {
                        message: '合同起止日期不能为空'
                    }
                }
            },
            contractImg:{
                validators: {
                    notEmpty: {
                        message: '请上传附件'
                    }
                }
            },
            examineImgBox:{
                validators: {
                    notEmpty: {
                        message: '请上传附件'
                    }
                }
            },
            contractReviewNotes:{
                validators: {
                    notEmpty: {
                        message: '审核备注不能为空'
                    }
                }
            },
            defray:{
                validators: {
                    notEmpty: {
                        message: '请选择支付方式'
                    }
                }
            }

        }

    });

    $('#editCompanyForm').bootstrapValidator({
        excluded: [":disabled"],
        fields: {
            companyIncomeE: {
                validators: {
                    notEmpty: {
                        message: '公司收益不能为空'
                    },
                    regexp: {
                        regexp: /^(([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,4})))$/,
                        message: '请输入正确的公司收益'
                    }
                }
            },
            companyNumberE: {
                validators: {
                    notEmpty: {
                        message: '公司数量不能为空'
                    },
                    regexp: {
                        regexp: /^\d+$/,
                        message: '请输入正确的公司数量'
                    }
                }
            },
            productServiceNumberE: {
                validators: {
                    notEmpty: {
                        message: '产品服务数量不能为空'
                    },
                    regexp: {
                        regexp: /^\d+$/,
                        message: '请输入正确的产品服务数量'
                    }
                }
            },
            financingSituationE: {
                validators: {
                    notEmpty: {
                        message: '融资情况不能为空'
                    }
                }
            },
            upstreamCompanyE: {
                validators: {
                    notEmpty: {
                        message: '上游公司不能为空'
                    }
                }
            },
            downstreamCompanyE: {
                validators: {
                    notEmpty: {
                        message: '下游公司不能为空'
                    }
                }
            },
            companyProfileE: {
                validators: {
                    notEmpty: {
                        message: '公司简介不能为空'
                    }
                }
            },
        }
    });
    $('#addContactForm').bootstrapValidator({
        fields: {
            contactNameAdd: {
                validators: {
                    /*notEmpty: {
                        message: '联系人姓名不能为空'
                    }*/
                    callback: {
                        callback: function(value, validator) {
                            if (value) {
                                if(value.length < 2) {
                                    return {valid: false, message: '联系人姓名最少两个字'};
                                }
                                for (let index=0; index < filterContent.length; index++) {
                                    var elem = filterContent[index];
                                    if (value.indexOf(elem) != -1) {
                                        return {valid: false, message: '联系人姓名非法文字'};
                                        return false;
                                    }
                                }
                                return true;
                            } else {
                                return {valid: false, message: '联系人姓名不能为空'};
                            }
                        }
                    }
                }
            },
            contactInformationAdd: {
                validators: {
                    notEmpty: {
                        message: '请输入联系方式'
                    },
                    regexp: {
                        regexp: /^\d+$/,
                        message: '联系方式只能是数字'
                    },
                    stringLength:{
                        max: 20,
                        message:'请输入正确的联系方式'
                    }
                }
            },
            contactType: {
                validators: {
                    notEmpty: {
                        message: '联系类型不能为空'
                    }
                }
            },
            contactTypeQt: {
                validators: {
                    notEmpty: {
                        message: '其他联系类型不能为空'
                    }
                }
            },
            contactState: {
                validators: {
                    notEmpty: {
                        message: '联系人类型不能为空'
                    }
                }
            },
            contactInformationType: {
                validators: {
                    notEmpty: {
                        message: '联系方式类型不能为空'
                    }
                }
            },
            contactPositionAdd: {
                validators: {
                    notEmpty: {
                        message: '职务不能为空'
                    }
                }
            },
            isSeniorExecutive: {
                validators: {
                    notEmpty: {
                        message: '职务状态不能为空'
                    }
                }
            },
            onTheJobSituationAdd: {
                validators: {
                    notEmpty: {
                        message: '在职情况不能为空'
                    }
                }
            },
            industry: {
                validators: {
                    notEmpty: {
                        message: '行业不能为空'
                    }
                }
            },
            wxAdd: {
                validators: {
                    notEmpty: {
                        message: '微信不能为空'
                    }
                }
            },
            mailBoxAdd: {
                validators: {
                    notEmpty: {
                        message: '邮箱不能为空'
                    },
                    emailAddress: {
                        message: '邮箱格式不正确'
                    }
                }
            },
            currentIntention: {
                validators: {
                    notEmpty: {
                        message: '目前意向不能为空'
                    }
                }
            },
            province: {
                validators: {
                    notEmpty: {
                        message: '省份不能为空'
                    }
                }
            },
            city: {
                validators: {
                    notEmpty: {
                        message: '市不能为空'
                    }
                }
            },
            companyAddress: {
                validators: {
                    notEmpty: {
                        message: '公司地址不能为空'
                    }
                }
            },
            homeAddress: {
                validators: {
                    notEmpty: {
                        message: '家庭住址不能为空'
                    }
                }
            },
        }
    });
    $('#demandAnalysisForm').bootstrapValidator({
        excluded: [":disabled"],
        fields: {
            demandAnalysisName: {
                validators: {
                    notEmpty: {
                        message: '需求分析名称不能为空'
                    }
                }
            },
            solution: {
                validators: {
                    notEmpty: {
                        message: '解决方案不能为空'
                    }
                }
            },
        }
    });
    $('#competitorForm').bootstrapValidator({
        fields: {
            productName: {
                validators: {
                    notEmpty: {
                        message: '产品名称不能为空'
                    }
                }
            },
            competitorName: {
                validators: {
                    notEmpty: {
                        message: '竞品名称不能为空'
                    }
                }
            },
            /*productPrice: {
                validators: {
                    notEmpty: {
                        message: '产品价格不能为空'
                    },
                }
            },
            competitorPrice: {
                validators: {
                    notEmpty: {
                        message: '竞品价格不能为空'
                    }
                }
            },
            competitorUnit: {
                validators: {
                    notEmpty: {
                        message: '竞品单位不能为空'
                    }
                }
            },
            competitorDueTimej: {
                validators: {
                    notEmpty: {
                        message: '竞品到期时间不能为空'
                    }
                }
            },
            currentBudget: {
                validators: {
                    notEmpty: {
                        message: '当前预算不能为空'
                    }
                }
            },*/
            budgetDirector: {
                validators: {
                    notEmpty: {
                        message: '预算负责人不能为空'
                    }
                }
            },
            directorInformation: {
                validators: {
                    notEmpty: {
                        // message: '负责人联系方式不能为空'
                    },
                    regexp: {
                        regexp: /^\d+$/,
                        //regexp: /(^(\d{2,4}[-_－—]?)?\d{3,8}([-_－—]?\d{3,8})?([-_－—]?\d{1,7})?$)|(^0?1[35]\d{9}$)/,
                        message: '请输入正确的联系方式'
                    }
                }
            },
        }
    });
    $('#edditContactForm').bootstrapValidator({
        excluded: [":disabled"],
        fields: {
            mailBox: {
                validators: {
                    notEmpty: {
                        message: '邮箱不能为空'
                    },
                    emailAddress: {
                        message: '邮箱格式不正确'
                    }
                }
            },
            wx: {
                validators: {
                    notEmpty: {
                        message: '微信不能为空'
                    }
                }
            },
        }
    });
});


/***

 // 合同起止日期*/
function timeData(){
    $('#contractDate').daterangepicker({
        startDate: moment().startOf('hour'),
        endDate: moment().startOf('hour').add(24, 'hour'),
        locale: {
            format: 'YYYY-MM-DD',
            cancelLabel: '清空',

        },
        drops:'up',
        pickerPosition:'top-right',
        timePicker24Hour : true,
        autoUpdateInput: false,
    }).on('hide.daterangepicker',function(e) {
        $('#contractDate').change();
        $('#renewDetailForm').data('bootstrapValidator')
            .updateStatus('contractDate', 'NOT_VALIDATED',null)
            .validateField('contractDate');
    });
    $('#contractDate').on('apply.daterangepicker', function(ev, picker) {
        $(this).val(picker.startDate.format('YYYY-MM-DD') + ' 至 ' + picker.endDate.format('YYYY-MM-DD'));
        // if($('#customerForm').data('bootstrapValidator')!=undefined){
        $('#renewDetailForm').data('bootstrapValidator')
            .updateStatus('contractDate', 'NOT_VALIDATED',null)
            .validateField('contractDate');
        // }

    });
    $('#contractDate').on('cancel.daterangepicker', function(ev, picker) {
        $(this).val('');
    })
}


function addContract() {
    parent.$(parent.document).data('multitabs').create({
        iframe : true,
        title : '新建合同',
        url : "/front/contractManager/userAddContract?tag=2"
    }, true);
}

// 拨打电话
function callCenter(value, customerContactPersonId) {
    var data = [{
        contactInformation: value,
        customerContactPersonId
    }];  // 需要传递给电话弹窗的相关数据
    window.parent.callModal(customerId, data, 1);
}

function infoModalEcho() {
    $('#imageId').text(customer.uploadId);
    $('#newsPic').attr('src', customer.accessUrl);
    $('#customerName').val(customer.customerName);
    $('#tag').tagsinput('removeAll');
    $('#tag').tagsinput('add', customer.tag);
    $('#customerType').val(Number(customer.customerType) ? '个人客户' : '企业客户');
    $('#customerNumber').val(customer.customerNumber);
    $('#originalCustomerId').val(customer.originalCustomerId);
    $('#unifiedSocialCreditCode').val(customer.unifiedSocialCreditCode);
    $('#companyType').selectpicker('val', customer.companyType);
    $('#industryx').selectpicker('val', customer.industry);
    $('#legalRepresentative').val(customer.legalRepresentative);
    $('#companySize').selectpicker('val', customer.companySize);
    $('#registeredCapital').val(customer.registeredCapital);
    $('#financialNumber').val(customer.financialNumber);
    if (customer.contactPerson == '' || customer.contactPerson == null) {
        $('.contact-people').show(0);
        $('#contactPerson, #contactPersonPhone').val('');
    } else {
        $('.contact-people').hide(0);
        $("#contactPerson").val(customer.contactPerson);
        $("#contactPersonPhone").val(customer.contactPersonPhone)
    }
    $('#enterpriseExternalLandline').val(customer.enterpriseExternalLandline);
    $('#companyWebsite').val(customer.companyWebsite);
    // $('#registrationTime').val(customer.registrationTime);
    $("#registrationTime").datepicker({
        language: "zh-CN",
        autoclose: true,
        clearBtn: true,
        todayHighlight: true,
        format: "yyyy-mm-dd"
    }).on('hide', function (event) {
        event.stopPropagation();
        $('#editInfoForm').data('bootstrapValidator')
            .updateStatus('registrationTime', 'NOT_VALIDATED',null)
            .validateField('registrationTime');
    });
    $('#registrationTime').datepicker('setDate', customer.registrationTime);
    $('#fax').val(customer.fax);
    $('#email').val(customer.email);
    $('#address').val(customer.detailedAddress);
    $('#remark').val(customer.remark);

    $('#editInfoForm').bootstrapValidator('resetForm');
}

// 筛选条件
var validatorJson = {
    excluded: [":disabled"],
    fields: {
        customerName: {
            message: '客户名称验证失败',
            validators: {
                notEmpty: {
                    message: '公司名称不能为空'
                },
                stringLength: {
                    min: 2,
                    message: '公司名称长度最少两个字符，请重新输入'
                },
            }
        },
        tagName: {
            trigger: 'change',
            validators: {
                notEmpty: {
                    message: '标签不能为空'
                }
            }
        },
        customerType: {
            validators: {
                notEmpty: {
                    message: '客户类型不能为空'
                }
            }
        },
        customerNumber: {
            validators: {
                notEmpty: {
                    message: '客户编号不能为空'
                }
            }
        },
        unifiedSocialCreditCode: {
            validators: {
                notEmpty: {
                    message: '社会信用统一代码不能为空'
                },
                stringLength: {
                    min: 15,
                    max: 20,
                    message: '统一社会信用码长度在15-20位以内'
                },
                regexp: {
                    // regexp: /^(?=.*[a-z])(?=.*[A-Z])(?=.*\d)[^]/,
                    regexp: /^[a-z0-9]+$/i,
                    message: '统一社会信用码必须输入数字,大小字母'
                }
            }
        },
        companyType: {
            validators: {
                notEmpty: {
                    message: '公司类型不能为空'
                }
            }
        },
        industryx: {
            validators: {
                notEmpty: {
                    message: '行业分类不能为空'
                }
            }
        },
        companySize: {
            validators: {
                notEmpty: {
                    message: '公司规模不能为空'
                }
            }
        },
        registeredCapital: {
            validators: {
                notEmpty: {
                    message: '注册资本不能为空'
                },
                regexp: {
                    regexp: /^(([1-9][0-9]*)|(([0]\.\d{1,2}|[1-9][0-9]*\.\d{1,4})))$/,
                    message: '请输入正确的金额'
                }
            }
        },
        financialNumber: {
            validators: {
                notEmpty: {
                    message: '财务人数不能为空'
                },
                regexp: {
                    regexp: /(^[1-9]\d*$)/,
                    message: '人数只能是正整数'
                }
            }
        },
        enterpriseExternalLandline: {
            validators: {
                notEmpty: {
                    message: '企业对外座机不能为空'
                },
                regexp: {
                    regexp: /(^(\d{2,4}[-_－—]?)?\d{3,8}([-_－—]?\d{3,8})?([-_－—]?\d{1,7})?$)|(^0?1[35]\d{9}$)/,
                    message: '请输入正确的企业对外座机'
                }
            }
        },
        contactPerson: {
            validators: {
                /*notEmpty: {
                    message: '联系人不能为空'
                },*/
                regexp: {
                    regexp: /[\u4e00-\u9fa5]/gm,
                    message: '请输入正确的联系人姓名'
                }
            }
        },
        contactPersonPhone: {
            validators: {
                /*notEmpty: {
                    message: '联系人不能为空'
                },*/
                regexp: {
                    regexp: /^\d+$/,
                    message: '请输入正确的联系方式'
                }
            }
        },
        registrationTime: {
            validators: {
                notEmpty: {
                    message: '注册时间不能为空'
                }
            }
        },
        email: {
            validators: {
                notEmpty: {
                    message: '邮箱不能为空'
                },
                emailAddress: {
                    message: '邮箱格式不正确'
                }
            }
        }

    }
};

// 评分插件
function score(id) {
    $(id).raty({
        path: '/images',
        targetType: 'hint',
        hints: ['差', '一般', '好', '非常好', '全五星'],
        size: 24,
        starOff: 'star-off.png',
        starOn: 'star-on.png',
        targetKeep: true,
        score: scoreLevel,
        readOnly: false,
        click: function(score, evt) {
            $.ajax({
                url: '/customerController/updateCustomerRating',
                type: 'POST',
                dataType: "json",
                data: {
                    customerId,
                    customerRating: score,
                },
                success: (function (data) {
                    if (data.code == "000000") {
                        $.notify({
                            message: '客户评分修改成功！',
                        }, {
                            type: 'success'
                        })
                    } else {
                        $.notify({
                            message: '客户评分修改失败，请重试！',
                        }, {
                            type: 'danger'
                        });
                    }
                }),
                error: (function () {
                    alert("失败");
                })
            })
        }
    });
}

/**
 * 功能：编辑客户详情
 * */
function baseInfo() {
    var imageId = $('#imageId').text();                                     // 图片id
    var customerName = $('#customerName').val();                            // 客户名称
    // var customerRating = $('#customerRating input').val();                  // 客户评分
    var tag = $('#tag').val();                                              // 标签
    var customerType;                                                       // 客户类型
    switch ($('#customerType').val()) {
        case '个人客户':
            customerType = 1;
            break;
        case '企业客户':
            customerType = 0;
            break;
        default :
            customerType = ''
    }
    var customerNumber = $('#customerNumber').val();                        // 客户编号
    var originalCustomerId = $('#originalCustomerId').val();                // 原客户ID
    var unifiedSocialCreditCode = $('#unifiedSocialCreditCode').val();      // 统一社会信用代码
    var companyType = $('#companyType').val();                              // 公司类型
    var industryx = $('#industryx').val();                                  // 行业分类
    var companySize = $('#companySize').val();                              // 公司规模
    var registeredCapital = $('#registeredCapital').val();                  // 注册资本
    var financialNumber = $('#financialNumber').val();                      // 财务人数
    var contactPerson = $('#contactPerson').val();                          // 联系人
    var contactPersonPhone = $('#contactPersonPhone').val();                // 联系方式
    var legalRepresentative = $('#legalRepresentative').val();              // 法定代表人
    var enterpriseExternalLandline = $('#enterpriseExternalLandline').val();    // 企业对外座机
    var companyWebsite = $('#companyWebsite').val();                        // 公司网址
    var registrationTime = $('#registrationTime').val();                    // 注册时间
    var fax = $('#fax').val();                                              // 传真
    var email = $('#email').val();                                          // 邮箱
    var detailedAddress = $('#address').val();                                      // 公司地址
    var remark = $('#remark').val();                                        // 备注

    if (contactPerson && !contactPersonPhone) {
        promptInfo('联系人的联系方式不能为空');
        return;
    }
    if (!contactPerson && contactPersonPhone) {
        promptInfo('请添加联系人姓名');
        return;
    }

    // 验证表单
    var bootstrapValidator = $("#editInfoForm").data('bootstrapValidator');
    bootstrapValidator.validate();
    if (!bootstrapValidator.isValid()) {
        return;
    }

    var jsonData = {
        customerId: $('#customerId').text(),                    // 客户详情id
        customerName: customerName,                             // 客户名称
        // customerRating : customerRating,                        // 客户评分
        tag: tag,                                               // 标签
        customerType: customerType,                             // 客户类型
        // customerNumber: customerNumber,                         // 客户编号
        // originalCustomerId: originalCustomerId,                 // 原客户ID
        unifiedSocialCreditCode: unifiedSocialCreditCode,       // 统一社会信用代码
        companyType: companyType,                               // 公司类型
        industry: industryx,                                    // 行业
        companySize: companySize,                               // 公司规模
        registeredCapital: registeredCapital,                   // 注册资本
        financialNumber: financialNumber,                       // 财务人数
        contactPerson: contactPerson,                           // 联系人
        contactPersonPhone: contactPersonPhone,                 // 联系方式
        legalRepresentative: legalRepresentative,               // 法定代表人
        enterpriseExternalLandline: enterpriseExternalLandline, // 企业对外座机
        companyWebsite: companyWebsite,                         // 公司网址
        registrationTime: registrationTime,                     // 注册时间
        // fax: fax,                                               // 传真
        email: email,                                           // 邮箱
        detailedAddress: detailedAddress,                       // 公司地址
        remark: remark,                                         // 备注
        uploadId: imageId,
    };
    console.log(jsonData);

    $.ajax({
        url: '/customer/updateCustomer',
        type: 'POST',
        dataType: "json",
        contentType: "application/json;charset=utf-8",
        data: JSON.stringify(jsonData),
        success: (function (data) {
            if (data.code == "000000") {
                $('#editInfoModal').modal('hide');
                window.location.reload();
                /*$("#infoCard").load(location.href + " #info", function () {
                    tagsShow(tag);
                    score('#showScore');
                    $("[data-toggle='tooltip']").tooltip();
                    $('#moreInfo').on('show.bs.collapse', function () {
                        $('#btnCollapse').html('点击收起 <i class="mdi mdi-chevron-double-up"></i>');
                    }).on('hide.bs.collapse', function () {
                        $('#btnCollapse').html('更多详情 <i class="mdi mdi-chevron-double-down"></i>');
                    });
                });*/
            } else {
                alert("操作失败");
            }
        }),
        error: (function () {
            alert("失败");
        })
    });
}

//显示公司简介信息
function companyInfo(num){
    $.ajax({
        url: '/customer/companyInfo',
        type: 'POST',
        dataType: "json",
        data: {
            customer_id: customerId,
        },
        success: (function (data) {
            if (data.code == "000000") {
                if (data.data) {
                    customerCompanyInfoId = data.data.customerCompanyInfoId;
                    if(num == 1) {
                        if(customerCompanyInfoId != null) {
                            $("#companyProfileE").val(data.data.companyProfile);  //公司简介
                            $("#companyIncomeE").val(data.data.companyIncome); //公司收益
                            $("#companyNumberE").val(data.data.companyNumber); //公司数量
                            $("#productServiceNumberE").val(data.data.productServiceNumber); //产品服务数量
                            $("#financingSituationE").val(data.data.financingSituation); //融资情况
                            $("#upstreamCompanyE").val(data.data.upstreamCompany || '暂无信息');//上游公司
                            $("#downstreamCompanyE").val(data.data.downstreamCompany);//下游公司
                        }
                    }else{
                        $("#companyProfile").html(data.data.companyProfile || '暂无信息');  //公司简介
                        $("#companyIncome").html(data.data.companyIncome || '暂无信息');//公司收益
                        $("#companyNumber").html(data.data.companyNumber || '暂无信息');//公司数量
                        $("#productServiceNumber").html(data.data.productServiceNumber || '暂无信息');//产品服务数量
                        $("#financingSituation").html(data.data.financingSituation || '暂无信息');//融资情况
                        $("#upstreamCompany").html(data.data.upstreamCompany || '暂无信息');//上游公司
                        $("#downstreamCompany").html(data.data.downstreamCompany || '暂无信息');//下游公司

                        console.log($('#companyProfile').height());
                        var infoContent = $('#companyProfile').height();
                        if (infoContent > 84) {
                            var moreBtn = '<a href="#!" class="btn-more">展开</a>';
                            $('#companyProfile').addClass('more').append(moreBtn);
                            $('#companyProfile').on('click', '.btn-more', function () {
                                $('#companyProfile').toggleClass('show');
                            });
                        }

                    }
                }
            } else {
                $.alert("请求失败");
            }
        }),
        error: (function (res) {
            $.alert("请求失败");
        })
    })
}

function saveCompany(){
    var companyProfile = $('#companyProfileE').val(); //公司简介
    var companyIncome = $('#companyIncomeE').val(); //公司收益
    var companyNumber = $('#companyNumberE').val(); //公司数量
    var productServiceNumber = $('#productServiceNumberE').val(); //产品服务数量
    var financingSituation = $('#financingSituationE').val(); //融资情况
    var upstreamCompany = $('#upstreamCompanyE').val(); //上游公司
    var downstreamCompany = $('#downstreamCompanyE').val(); //下游公司

    // 验证表单
    var bootstrapValidator = $("#editCompanyForm").data('bootstrapValidator');
    bootstrapValidator.validate();
    if (!bootstrapValidator.isValid()) {
        return;
    }


    //公司收益为空判断
    if(!companyIncome){
        promptInfo("公司收益不能为空！");
        return;
    }
    //公司数量
    var reg = /^\d{1,}$/; // 非负整数
    var pattern = new RegExp(reg);
    if(!companyNumber){
        promptInfo("公司数量不能为空！");
        return;
    }else{
        if(!pattern.test(companyNumber)) {
            promptInfo("公司数量必须是整数！");
            return;
        }
    }
    //产品服务数量为空判断
    if(!productServiceNumber){
        promptInfo("产品服务数量不能为空！");
        return;
    }else{
        if(!pattern.test(productServiceNumber)) {
            promptInfo("产品服务数量必须是整数！");
            return;
        }
    }
    //融资情况为空判断
    if(!financingSituation){
        promptInfo("融资情况不能为空！");
        return;
    }
    //上游公司为空判断
    if(!upstreamCompany){
        promptInfo("上游公司不能为空！");
        return;
    }
    //下游公司为空判断
    if(!downstreamCompany){
        promptInfo("下游公司不能为空！");
        return;
    }
    //公司简介为空判断
    if(!companyProfile){
        promptInfo("公司简介不能为空！");
        return;
    }

    var jsonData = {
        companyProfile : companyProfile, //公司简介
        companyIncome : companyIncome, //公司收益
        companyNumber : companyNumber, //公司数量
        productServiceNumber : productServiceNumber, //产品服务数量
        financingSituation : financingSituation, //融资情况
        upstreamCompany : upstreamCompany, //上游公司
        downstreamCompany : downstreamCompany, //下游公司
        customerId :  customerId,//客户详情id
        customerCompanyInfoId : customerCompanyInfoId
    };

    $.ajax({
        url: '/customerController/updateCustomerCompanyInfo',
        type: 'POST',
        dataType: "json",
        contentType: "application/json;charset=utf-8",
        data: JSON.stringify(jsonData),
        success: (function (data) {
            if (data.code == "000000") {
                window.location.reload();
            }else {
                alert("操作失败");
            }
        }),
        error: (function () {
            alert("失败");
        })
    });

}


//公司资料
function companyInformationc(seniorExecutive){
    //先销毁表格
    $custDetail.bootstrapTable('destroy');
    $custDetail.bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/customer/customerContactPersonList',//请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'create_tm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '-',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'customerContactPersonId',
        idField: 'customerContactPersonId',
        pageSize: 5,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: "[5]",//可供选择的每页的行数
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var temp = {
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sortName: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                customer_id: customerId,
                isSeniorExecutive: seniorExecutive,
                abolishState :1
            };
            return temp;
        },
        rowStyle:function(row){
            if (row.abolishState==1){
                return {css:{"text-decoration":"none"}}
            }else{
                return {css:{"text-decoration":"line-through"}}
            }
        },
        columns: [
            {title: '主键', field: 'customerContactPersonId', visible: false},
            {title: '序号', field: 'index', align: 'left', width: '60', valign: 'middle', formatter: indexFormat},
            {title: '姓名',field: 'contactName',align: 'left', valign: 'middle',formatter: contactNameFormat},
            {title: '职务', field: 'contactPosition',  align: 'left', valign: 'middle',formatter: contactPositionFormat},
            {title: '在职情况', field: 'onTheJobSituation', align: 'left', valign: 'middle',formatter: poolTypeFormat},
            {title: '联系方式', field: 'contactInformation', align: 'left', valign: 'middle',
                formatter: function (value, row) {
                    var telBtn = '';
                    if (value) {
                        telBtn += '<button class="tel-button" onclick="callCenter(\'' + value + '\', \'' + row.customerContactPersonId + '\');"><i class="mdi mdi-phone"></i></button>';
                    }
                    return transTelNumber(value) + telBtn;
                }
            },
            {title: '邮箱', field: 'mailBox',  align: 'left', valign: 'middle'},
            {title: '微信', field: 'wx',  align: 'left', valign: 'middle'},
            /*{title: '启用/废止联系人',field: 'abolishState',align: 'right', width: '120', formatter: abolishStateFormat},
            {title: '操作',field: 'operate',align: 'right', width: '90',formatter: genderOpt},*/

        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords //总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //加载成功时执行
            $("[data-toggle='tooltip']").tooltip();//加这个是为了让操作列的提示图标显示在上方
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}
//联系人名录
function contactListc(seniorExecutive){
    //先销毁表格
    $contactListDetail.bootstrapTable('destroy');
    $contactListDetail.bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/customer/customerContactPersonList',//请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'create_tm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '-',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'customerContactPersonId',
        idField: 'customerContactPersonId',
        pageSize: 5,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: "[5, 10, 15, 20]",//可供选择的每页的行数
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var temp = {
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sortName: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                customer_id : customerId,
                isSeniorExecutive : seniorExecutive,
                abolishState :1
            };
            return temp;
        },
        rowStyle:function(row){
            if (row.abolishState==1){
                return {css:{"text-decoration":"none"}}
            }else{
                return {css:{"text-decoration":"line-through"}}
            }
        },
        columns: [
            {title: '主键', field: 'customerContactPersonId', visible: false},
            {title: '序号', field: 'index', align: 'left', width: '60', valign: 'middle', formatter: indexFormat},
            {title: '姓名',field: 'contactName',align: 'left', valign: 'middle',formatter: contactNameFormat},
            {title: '职务', field: 'contactPosition',  align: 'left', valign: 'middle',formatter: contactPositionFormat},
            {title: '在职情况', field: 'onTheJobSituation', align: 'left', valign: 'middle',formatter: poolTypeFormat},
            {title: '联系方式', field: 'contactInformation', align: 'left', valign: 'middle',
                formatter: function (value, row) {
                    var telBtn = '';
                    if (value) {
                        telBtn += '<button class="tel-button" onclick="callCenter(\'' + value + '\', \'' + row.customerContactPersonId + '\');"><i class="mdi mdi-phone"></i></button>';
                        return transTelNumber(value) + telBtn;
                    } else {
                        return '-';
                    }
                }
            },
            {title: '联系人类型', field: 'contactState', align: 'left', valign: 'middle',formatter:contactStateFormat},
            {title: '邮箱', field: 'mailBox', align: 'left', valign: 'middle'},
            {title: '微信', field: 'wx', align: 'left', valign: 'middle'},
            {title: '跟进次数', field: 'followUpTimes', align: 'left', valign: 'middle'},
            /*{title: '是否废止联系人',field: 'abolishState',align: 'right',formatter: abolishStateFormat,},
            {title: '操作',field: 'operate',align: 'right', width: '80', formatter: genderOpt},*/
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //加载成功时执行
            $("[data-toggle='tooltip']").tooltip();//加这个是为了让操作列的提示图标显示在上方
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}

/**
 * 点击联系人姓名跳转联系人详情页面
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function contactNameFormat(value, row, index) {
    if(!value) {
        return '-';
    }
    return '<a href="JavaScript:void(0);"   onclick=\'contactDetail(\"'+row.contactName+'",\"'+row.contactInformation+'",\"'+customerId+'")\'>'+value+'</a>';
}

function  contactDetail(contactName,contactInformation,customerId) {
    var contactId = "";

    //查询联系人id,进行跳转
    $.ajax({
        url: '/contact/getContactId',
        type: 'POST',
        dataType: "json",
        data: {
            customerId: customerId,
            contactInformation : contactInformation,
            contactName : contactName
        },
        success: (function (data) {
            if (data.code == "000000") {
                if (data.data.contactId != null) {
                    contactId = data.data.contactId;
                    parent.$(parent.document).data('multitabs').create({
                        iframe: true,
                        title: '联系人详情',
                        url: "/front/contactManager/contactDetail?contactId=" + contactId
                    },true);
                }
            } else {
                alert("操作失败");
            }
        }),
        error: (function () {
            alert("失败");
        })
    });

}

//产品明细
function productc(){
    //先销毁表格  会员产品
    $memberFinishOrderProductDetail.bootstrapTable('destroy');
    $memberFinishOrderProductDetail.bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/customerController/finishOrderProductList',//请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'createTm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '-',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'finishOrderProductId',
        idField: 'finishOrderProductId',
        pageSize: 10,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: "[10]",//可供选择的每页的行数
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var temp = {
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sortName: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                customerId : customerId,
                productCategories :'1'  //产品分类 0:非会员;1:会员
            };
            return temp;
        },
        columns: [
            {title: '主键', field: 'finishOrderProductId', visible: false},
            {title: '序号', field: 'index', align: 'left', width: '60', valign: 'middle', formatter: indexFormat},
            {title: '产品名称', field: 'productName', align: 'left', valign: 'middle'},
            {title: '合同编号', field: 'contractNumber', align: 'left', valign: 'middle', formatter: contractNumberFormat},
            {title: '订单编号', field: 'orderNumber', align: 'left', valign: 'middle', formatter: orderNumberFormat},
            {title: '订单明细类型', field: 'orderDetailType', align: 'left', valign: 'middle',formatter: orderDetailTypeFormat},
            {title: '成交价', field: 'productFinalPrice', align: 'left', valign: 'middle'},
            /*{title: '操作', field: 'operate', align: 'right', width: '80', events: productEvents, formatter: memberFinishOrderProductOpt}*/

        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //加载成功时执行
            $("[data-toggle='tooltip']").tooltip();//加这个是为了让操作列的提示图标显示在上方
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });


    //先销毁表格  非会员产品
    $nonMemberFinishOrderProductDetail.bootstrapTable('destroy');
    $nonMemberFinishOrderProductDetail.bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/customerController/finishOrderProductList',//请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'createTm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '-',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'finishOrderProductId',
        idField: 'finishOrderProductId',
        pageSize: 10,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: "[10]",//可供选择的每页的行数
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var temp = {
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sortName: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                customerId : customerId,
                productCategories :'0'  //产品分类 0:非会员;1:会员
            };
            return temp;
        },
        columns: [
            {title: '主键', field: 'finishOrderProductId', visible: false},
            {title: '序号', field: 'index', align: 'left', width: '60', valign: 'middle', formatter: indexFormat},
            {title: '产品名称', field: 'productName', align: 'left', valign: 'middle'},
            {title: '合同编号', field: 'contractNumber', align: 'left', valign: 'middle', formatter: contractNumberFormat},
            {title: '订单编号', field: 'orderNumber', align: 'left', valign: 'middle', formatter: orderNumberFormat},
            {title: '订单明细类型', field: 'orderDetailType', align: 'left', valign: 'middle',formatter: orderDetailTypeFormat},
            {title: '成交价', field: 'productFinalPrice', align: 'left', valign: 'middle'}
            //{title: '操作', field: 'operate', align: 'right', width: '80', formatter: memberFinishOrderProductOpt}
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //加载成功时执行
            $("[data-toggle='tooltip']").tooltip();//加这个是为了让操作列的提示图标显示在上方
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });



    //兑换产品
    /*$redeemProductsTableDetail.bootstrapTable('destroy');
    $redeemProductsTableDetail.bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/customerController/finishOrderProductList',//请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'createTm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'finishOrderProductId',
        idField: 'finishOrderProductId',
        pageSize: 10,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: "[10]",//可供选择的每页的行数
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var temp = {
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sortName: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                customerId : customerId,
                productCategories :'非会员'  //产品分类 0:非会员;1:会员
            };
            return temp;
        },
        columns: [
            {title: '主键', field: 'finishOrderProductId', visible: false},
            {title: '序号', field: 'index', align: 'left', width: '60', valign: 'middle', formatter: indexFormat},
            {title: '合同编号', field: 'contractNumber', align: 'left', valign: 'middle', formatter: contractNumberFormat},
            {title: '订单编号', field: 'orderNumber', align: 'left', valign: 'middle', formatter: orderNumberFormat},
            {title: '产品名称', field: 'productName', align: 'left', valign: 'middle'},
            {title: '订单明细类型', field: 'orderDetailType', align: 'left', valign: 'middle',formatter: orderDetailTypeFormat},
            {title: '成交价', field: 'productFinalPrice', align: 'left', valign: 'middle'},
            /!*{title: '操作', field: 'operate', align: 'right', width: '80', formatter: memberFinishOrderProductOpt}*!/
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //加载成功时执行
            $("[data-toggle='tooltip']").tooltip();//加这个是为了让操作列的提示图标显示在上方
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });*/
}

/**
 * 会员产品操作列内容
 */
function memberFinishOrderProductOpt(value, row, index) {
    var html =  '<button type="button" id="productDetail" class="btn btn-default"><i class="mdi mdi-note-outline"></i>详细信息</button>';
    html += '<button type="button" id="renew" class="btn btn-default"><i class="mdi mdi-cart-plus"></i>续费</button>';
    html += '<button type="button" id="recordConsumption" class="btn btn-default"><i class="mdi mdi-format-list-bulleted"></i>消费记录</button>';

    return html;
    /*return [
        '<a type="button" id="productDetail" class="btn btn-xs btn-default edit-btn"' +
        'data-toggle="tooltip" onclick=\'getMemberProduct("'+row.productId+'")\'>' +
        '<i class="mdi mdi-pencil"></i>详细信息</a>'+
        '<a type="button" id="renew" class="btn btn-xs btn-default edit-btn"' +
        'data-toggle="tooltip" onclick=\'renewBtn("'+row.productId+'")\'>' + //onclick=\'getOpportunityId("'+row.opportunityId+'")\'
        '<i class="mdi mdi-pencil"></i>续费</a>'+
        '<a type="button" id="recordConsumption" class="btn btn-xs btn-default edit-btn"' +
        'data-toggle="tooltip">' + //onclick=\'getOpportunityId("'+row.opportunityId+'")\'
        '<i class="mdi mdi-pencil"></i>消费记录</a>'
    ].join('');*/
}

var productEvents = {
    'click #productDetail': function (e, value, row, index) {
        getMemberProduct(row);
    },
    'click #renew': function (e, value, row, index) {
        renewContractNumber = row.contractNumber;
        $('#renewDetail').modal('show');
        renewTableInit();
        renewClear();
    }
};


function renewClear(){
    $('#surcharge').val('');
    $('#orderSurchargeRemark').val('');
    $('#customerContractList').val('');
    $('#customerContractList').selectpicker('refresh');
    $('#contractDate').val('');
    $('#defray').val('');
    $('#defray').selectpicker('refresh');
    $('#contractImg').val('');
    $('#examineImgBox').val('');
    $('#contractReviewNotes').val('')
}

function getMemberProduct(data) {
    $.ajax({
        url: '/customerController/selectCustomerProductDetail',
        type: 'POST',
        dataType: "json",
        data: {
            customerId,                                             // 客户id
            memberProductId: data.productId,                         // 会员产品id
            finishOrderProductNum: data.finishOrderProductNum        // 产品号
        },
        success: (function (data) {
            if (data.code == "000000") {
                var onlineCourseArr = [];           // 线上课程
                var offlineCourseArr = [];          // 线下课程
                var valueAddedServicesArr = [];     // 增值服务
                if (data.data[0] !== null) {
                    for (var i = 0; i < data.data.length; i++) {
                        switch (data.data[i].serviceType) {
                            case '1':   // 线上课程
                                onlineCourseArr.push(data.data[i]);
                                break;
                            case '2':   // 线下课程
                                offlineCourseArr.push(data.data[i]);
                                break;
                            case '3':   // 增值服务
                                valueAddedServicesArr.push(data.data[i]);
                                break;
                        }
                    }
                }
                // console.log(onlineCourseArr, offlineCourseArr, valueAddedServicesArr);
                $('#productInfo').modal('show');
                $('#onlineCourse').bootstrapTable('destroy');
                $('#onlineCourse').bootstrapTable({
                    classes: 'table table-bordered table-hover table-striped',
                    striped: true,                  // 是否显示行间隔色
                    sortable: true,                 // 是否启用排序
                    sortOrder: "desc",              // 排序方式
                    sortName: '',                   // 排序字段
                    pagination: true,               // 是否显示分页
                    undefinedText: '-',             // cell没有值时显示
                    uniqueId: 'formId',
                    idField: 'formId',
                    pageSize: 5,                    // 每页的记录行数
                    pageNumber: 1,                  // 初始化加载第1页，默认第1页
                    data: onlineCourseArr,
                    columns: [
                        {title: '主键', field: 'formId', visible: false},
                        {title: '联系人id', field: 'contactPersonId', visible: false},
                        {title: '序号', field: 'index', align: 'left', valign: 'middle', width: '60', formatter: indexFormat},
                        {title: '课程类型', field: 'courseName',  align: 'left', valign: 'middle'},
                        {title: '课程小类', field: 'subName', align: 'left', valign: 'middle'},
                        {title: '服务次数', field: 'serviceCount', align: 'left', valign: 'middle'},
                    ],
                });
                $('#offlineCourse').bootstrapTable('destroy');
                $('#offlineCourse').bootstrapTable({
                    classes: 'table table-bordered table-hover table-striped',
                    striped: true,                  // 是否显示行间隔色
                    sortable: true,                 // 是否启用排序
                    sortOrder: "desc",              // 排序方式
                    sortName: '',                   // 排序字段
                    pagination: true,               // 是否显示分页
                    undefinedText: '-',             // cell没有值时显示
                    uniqueId: 'formId',
                    idField: 'formId',
                    pageSize: 5,                    // 每页的记录行数
                    pageNumber: 1,                  // 初始化加载第1页，默认第1页
                    data: offlineCourseArr,
                    columns: [
                        {title: '主键', field: 'formId', visible: false},
                        {title: '联系人id', field: 'contactPersonId', visible: false},
                        {title: '序号', field: 'index', align: 'left', valign: 'middle', width: '60', formatter: indexFormat},
                        {title: '课程类型', field: 'courseName',  align: 'left', valign: 'middle'},
                        {title: '课程小类', field: 'subName', align: 'left', valign: 'middle'},
                        {title: '服务次数', field: 'serviceCount', align: 'left', valign: 'middle'},
                    ],
                });
                $('#valueAddedServices').bootstrapTable('destroy');
                $('#valueAddedServices').bootstrapTable({
                    classes: 'table table-bordered table-hover table-striped',
                    striped: true,                  // 是否显示行间隔色
                    sortable: true,                 // 是否启用排序
                    sortOrder: "desc",              // 排序方式
                    sortName: '',                   // 排序字段
                    pagination: true,               // 是否显示分页
                    undefinedText: '-',             // cell没有值时显示
                    uniqueId: 'formId',
                    idField: 'formId',
                    pageSize: 5,                    // 每页的记录行数
                    pageNumber: 1,                  // 初始化加载第1页，默认第1页
                    data: valueAddedServicesArr,
                    columns: [
                        {title: '主键', field: 'formId', visible: false},
                        {title: '联系人id', field: 'contactPersonId', visible: false},
                        {title: '序号', field: 'index', align: 'left', valign: 'middle', width: '60', formatter: indexFormat},
                        {title: '课程类型', field: 'courseName',  align: 'left', valign: 'middle'},
                        {title: '课程小类', field: 'subName', align: 'left', valign: 'middle'},
                        {title: '服务次数', field: 'serviceCount', align: 'left', valign: 'middle'},
                    ],
                });
            } else {
                $.alert('错误代码：' + data.code);
            }
        }),
        error: (function () {
            $.alert("数据请求失败");
        })
    })
}



/**
 * 订单明细类型--1:产品类型;2:活动类型;3:赠品活动类型
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function orderDetailTypeFormat(value, row, index) {
    if (value == null || value == undefined) {
        return "-";
    } else if (1 == value) {
        return "<span class='label label-success-light'>产品类型</span>";
    } else if (2 == value) {
        return "<span class='label label-info-light'>活动类型</span>";
    } else if (3 == value) {
        return "<span class='label label-info-light'>赠品活动类型</span>";
    }
}

/**
 * 点击合同编号跳转到合同详情
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function contractNumberFormat(value, row, index) {
    if(value == null) {
        value = '';
    }
    return '<a href="JavaScript:void(0);"   onclick=\'contractNumberDetail(\"'+row.contractId+'")\'>'+value+'</a>';
}

function  contractNumberDetail(contractId) {
    if(contractId == null || contractId == '') {
        $.alert("合同信息有误!");
        return;
    }
    parent.$(parent.document).data('multitabs').create({
        iframe : true,
        title : '合同详情',
        url : "/front/contractManager/contractDetailAdmin?contractId=" + contractId
    }, true);
}

/**
 * 点击订单编号跳转到订单详情
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function orderNumberFormat(value, row, index) {
    if(value == null) {
        value = '';
    }
    return '<a href="JavaScript:void(0);" onclick="orderNumberDetail(\''+row.productOrderId+ '\',\'' + row.contractId + '\')">'+value+'</a>';
}

function  orderNumberDetail(productOrderId,contractId) {
    if(productOrderId == null || productOrderId == '') {
        $.alert("订单信息有误!");
        return;
    }
    parent.$(parent.document).data('multitabs').create({
        iframe : true,
        title : '订单详情',
        url : "/front/orderManager/orderDetail?productOrderId=" + productOrderId+"&contractId="+ contractId
    }, true);
}

//合同
function contractc(){
    //先销毁表格
    $contractDetail.bootstrapTable('destroy');
    $contractDetail.bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/customerController/contractList',//请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'createTm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '-',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'contractId',
        idField: 'contractId',
        pageSize: 10,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: "[10]",//可供选择的每页的行数
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var temp = {
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sortName: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                customerId : customerId
            };
            return temp;
        },
        columns: [
            {title: '主键', field: 'contractId', visible: false},
            {title: '序号', field: 'index', align: 'left', width: '60', valign: 'middle', formatter: indexFormat},
            {title: '合同编号',field: 'contractNumber',align: 'left', valign: 'middle',formatter: contractNumberFormat},
            {title: '合同状态', field: 'contractStatus',  align: 'left', valign: 'middle',formatter: contractStatusFormat},
            {title: '合同类型', field: 'contractType', align: 'left', valign: 'middle',formatter: contractTypeFormat},
            {title: '合同开始日期', field: 'contractStartDate', align: 'left', valign: 'middle',formatter:dateFormat},
            {title: '合同结束日期', field: 'contractEndDate', align: 'left', valign: 'middle',formatter:dateFormat},
            {title: '合同续费', field: 'contractRenewal', align: 'left', valign: 'middle',formatter:contractRenewalFormat},
            {title: '是否特批', field: 'specialApprovalStatus', align: 'left', valign: 'middle',formatter:specialApprovalStatusFormat},
            {title: '回款状态', field: 'paymentStatus', align: 'left', valign: 'middle',formatter:paymentStatusFormat},
            {title: '合同审批状态',field: 'contractApprovalStatus',align: 'center',formatter:contractApprovalStatusFormat},
            {title: '合同审核状态',field: 'contractReviewStatus',align: 'center',formatter:contractReviewStatusFormat}
            /*{title: '操作',field: 'operate',align: 'right',events: contractOperateEvents,formatter: contractGenderOpt}*/
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //加载成功时执行
            $("[data-toggle='tooltip']").tooltip();//加这个是为了让操作列的提示图标显示在上方
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}

/**
 * 合同状态:1-未生效；2-生效中；3-已结束；4-已作废；5-意外终止；6-挂起
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function contractStatusFormat(value, row, index) {
    if (value == null || value == undefined) {
        return "-";
    } else if (1 == value) {
        return "<span class='label label-success-light'>未生效</span>";
    } else if (2 == value) {
        return "<span class='label label-info-light'>生效中</span>";
    } else if (3 == value) {
        return "<span class='label label-info-light'>已结束</span>";
    } else if (4 == value) {
        return "<span class='label label-info-light'>已作废</span>";
    } else if (5 == value) {
        return "<span class='label label-info-light'>意外终止</span>";
    } else if (6 == value) {
        return "<span class='label label-info-light'>挂起</span>";
    }
}

/**
 * 合同类型--1:非会员合同;2:会员新单合同;3:活动合同;4:会员续费合同
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function contractTypeFormat(value, row, index) {
    if (value == null || value == undefined) {
        return "-";
    } else if (1 == value) {
        return "<span class='label label-success-light'>非会员合同</span>";
    } else if (2 == value) {
        return "<span class='label label-success-light'>会员新单合同</span>";
    } else if (3 == value) {
        return "<span class='label label-info-light'>活动合同</span>";
    } else if (4 == value) {
        return "<span class='label label-info-light'>会员续费合同</span>";
    }
}

/**
 * 合同续费:1-正常合同；2-提前续费；3-延期续费
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function contractRenewalFormat(value, row, index) {
    if (value == null || value == undefined) {
        return "-";
    } else if (1 == value) {
        return "<span class='label label-success-light'>正常合同</span>";
    } else if (2 == value) {
        return "<span class='label label-info-light'>提前续费</span>";
    } else if (3 == value) {
        return "<span class='label label-info-light'>延期续费</span>";
    }
}

/**
 * 是否特批：1-特批；0-不是特批
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function specialApprovalStatusFormat(value, row, index) {
    if (value == null || value == undefined) {
        return "-";
    } else if (0 == value) {
        return "<span class='label label-success-light'>不特批</span>";
    } else if (1 == value) {
        return "<span class='label label-info-light'>特批</span>";
    }
}

/**
 * 回款状态：0-未回款；1-已回款；3-部分回款
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function paymentStatusFormat(value, row, index) {
    if (value == null || value == undefined) {
        return "-";
    } else if (0 == value) {
        return "<span class='label label-success-light'>未回款</span>";
    } else if (1 == value) {
        return "<span class='label label-info-light'>已回款</span>";
    } else if (3 == value) {
        return "<span class='label label-info-light'>部分回款</span>";
    } else if (4 == value) {
        return "<span class='label label-info-light'>预回款</span>";
    }
}

/**
 * 合同审批状态：1-审批；0-未审批
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function contractApprovalStatusFormat(value, row, index) {
    if (value == null || value == undefined) {
        return "-";
    } else if (0 == value) {
        return "<span class='label label-success-light'>未审批</span>";
    } else if (1 == value) {
        return "<span class='label label-info-light'>审批</span>";
    }
}

/**
 * 合同审核状态：0-未审核；1-审核中；2-审核通过；3-审核失败
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function contractReviewStatusFormat(value, row, index) {
    if (value == null || value == undefined) {
        return "-";
    } else if (0 == value) {
        return "<span class='label label-info-light'>未审核</span>";
    } else if (1 == value) {
        return "<span class='label label-success-light'>审核中</span>";
    } else if (2 == value) {
        return "<span class='label label-info-light'>审核通过</span>";
    } else if (3 == value) {
        return "<span class='label label-info-light'>审核失败</span>";
    } else if (4 == value) {
        return "<span class='label label-info-light'>通过并盖章</span>";
    }
}

/**
 * 自定义操作列内容
 */
function contractGenderOpt(value, row, index) {
    let html = '';
    html += '<button type="button" class="btn btn-default" id="detail"><i class="mdi mdi-eye"></i>查看</button>';
    return html;
}

/**
 * 自定义操作列事件
 */
window.contractOperateEvents = {
    //查看点击事件
    'click #detail': function (e, value, row, index) {
        parent.$(parent.document).data('multitabs').create({
            iframe : true,
            title : '合同详情',
            url : "/front/contractManager/contractDetailAdmin?contractId=" + row.contractId
        }, true);
    }
};

//订单
function orderc(){
    //先销毁表格
    $orderDetail.bootstrapTable('destroy');
    $orderDetail.bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/customerController/orderList',//请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'createTm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '-',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'productOrderId',
        idField: 'productOrderId',
        pageSize: 10,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: "[10]",//可供选择的每页的行数
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var temp = {
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sortName: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                customerId : customerId
            };
            return temp;
        },
        columns: [
            {title: '主键', field: 'productOrderId', visible: false},
            {title: '序号', field: 'index', align: 'left', width: '60', valign: 'middle', formatter: indexFormat},
            {title: '订单编号',field: 'orderNumber',align: 'left', valign: 'middle', formatter: orderNumberFormat},
            {title: '订单状态', field: 'orderStatus',  align: 'left', valign: 'middle',formatter: orderStatusFormat},
            {title: '订单类型', field: 'orderType', align: 'left', valign: 'middle',formatter: orderTypeFormat},
            {title: '订单实际总金额', field: 'orderActualTotalAmount', align: 'left', valign: 'middle'},
            {title: '订单完成时间', field: 'orderCompleteTm', align: 'left', valign: 'middle',formatter:dateFormat}
            /*{title: '操作',field: 'operate',align: 'right',events: productOrderOperateEvents,formatter: productOrderGenderOpt}*/
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //加载成功时执行
            $("[data-toggle='tooltip']").tooltip();//加这个是为了让操作列的提示图标显示在上方
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}

/**
 * 订单状态--1:等待回款;2:已完成;3:作废;4:部分回款
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function orderStatusFormat(value, row, index) {
    if (value == null || value == undefined) {
        return "-";
    } else if (1 == value) {
        return "<span class='label label-success-light'>等待回款</span>";
    } else if (2 == value) {
        return "<span class='label label-info-light'>已完成</span>";
    } else if (3 == value) {
        return "<span class='label label-info-light'>作废</span>";
    } else if (4 == value) {
        return "<span class='label label-info-light'>部分回款</span>";
    }
}

/**
 * 订单类型--0:非会员订单;1:会员订单
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function orderTypeFormat(value, row, index) {
    if (value == null || value == undefined) {
        return "-";
    } else if (0 == value) {
        return "<span class='label label-success-light'>非会员订单</span>";
    } else if (1 == value) {
        return "<span class='label label-success-light'>会员订单</span>";
    }
}

/**
 * 自定义操作列内容
 */
function productOrderGenderOpt(value, row, index) {
    let html = '';
    html += '<button class="btn btn-default" id="detail"><i class="mdi mdi-eye"></i>查看</button>';
    html += '</ul></div>';
    return html;
}

/**
 * 自定义操作列事件
 */
window.productOrderOperateEvents = {
    //查看点击事件
    'click #detail': function (e, value, row, index) {
        parent.$(parent.document).data('multitabs').create({
            iframe : true,
            title : '订单详情',
            url : "/front/orderManager/orderDetail?productOrderId=" + row.productOrderId+"&contractId="+ row.contractId
        }, true);
    }
};


//需求分析
function demandAnalysisListc(){
    //先销毁表格
    $demandAnalysisListDetail.bootstrapTable('destroy');
    $demandAnalysisListDetail.bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/customer/demandAnalysisList',//请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'create_tm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '-',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'demandAnalysisId',
        idField: 'demandAnalysisId',
        pageSize: 5,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: "[5]",//可供选择的每页的行数
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var temp = {
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sortName: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                customerId :customerId
            };
            return temp;
        },
        columns: [
            {title: '主键', field: 'demandAnalysisId', visible: false},
            {title: '序号', field: 'index', align: 'left', width: '60', valign: 'middle', formatter: indexFormat},
            {title: '需求分析名称',field: 'demandAnalysisName',align: 'left', valign: 'middle'},
            {title: '解决方案', field: 'solution',  align: 'left', valign: 'middle'}

        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //加载成功时执行
            $("[data-toggle='tooltip']").tooltip();//加这个是为了让操作列的提示图标显示在上方
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}


//修改记录
function modificationRecordListc(){
    //先销毁表格
    $modificationRecordListDetail.bootstrapTable('destroy');
    $modificationRecordListDetail.bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/customer/modificationRecordList',//请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'create_tm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '-',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'modificationRecordId',
        idField: 'modificationRecordId',
        pageSize: 5,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: "[5]",//可供选择的每页的行数
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var temp = {
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sortName: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                customerId :customerId
            };
            return temp;
        },
        columns: [
            {title: '主键', field: 'modificationRecordId', visible: false},
            {title: '序号', field: 'index', align: 'left', width: '60', valign: 'middle', formatter: indexFormat},
            {title: '修改名称',field: 'modificationName',align: 'left', valign: 'middle'},
            {title: '修改前', field: 'beforeModification',  align: 'left', valign: 'middle'},
            {title: '修改后', field: 'afterModification', align: 'left', valign: 'middle'},
            {title: '核实状态', field: 'verifyStatus', align: 'left', valign: 'middle',formatter: verifyStatusFormat}
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //加载成功时执行
            $("[data-toggle='tooltip']").tooltip();//加这个是为了让操作列的提示图标显示在上方
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}

//竞品列表
function competitorListc(){
    //先销毁表格
    $competitorListDetail.bootstrapTable('destroy');
    $competitorListDetail.bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/customerController/competitorList',//请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'createTm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '-',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'competitorId',
        idField: 'competitorId',
        pageSize: 5,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: "[5]",//可供选择的每页的行数
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var temp = {
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sortName: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                customerId :customerId
            };
            return temp;
        },
        columns: [
            {title: '主键', field: 'competitorId', visible: false},
            {title: '序号', field: 'index', align: 'left', width: '60', valign: 'middle', formatter: indexFormat},
            {title: '产品名称',field: 'productName',align: 'left', valign: 'middle'},
            {title: '竞品名称', field: 'competitorName',  align: 'left', valign: 'middle'},
            {title: '产品价格', field: 'productPrice', align: 'left', valign: 'middle'},
            {title: '竞品价格',field: 'competitorPrice',align: 'left', valign: 'middle'},
            {title: '竞品单位', field: 'competitorUnit',  align: 'left', valign: 'middle'},
            {title: '竞品到期时间', field: 'competitorDueTime', align: 'left', valign: 'middle'},
            {title: '当前预算',field: 'currentBudget',align: 'left', valign: 'middle'},
            {title: '预算负责人', field: 'budgetDirector',  align: 'left', valign: 'middle'},
            {title: '负责人联系方式', field: 'directorInformation', align: 'left', valign: 'middle',
                formatter: function (value) {
                    var telBtn = '';
                    if (value) {
                        telBtn += '<button class="tel-button" onclick="callCenter(\'' + value + '\');"><i class="mdi mdi-phone"></i></button>';
                    }
                    return transTelNumber(value) + telBtn;
                }
            },
            {title: '创建时间',field: 'createTm',align: 'left', valign: 'middle',formatter:dateFormat}
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //加载成功时执行
            $("[data-toggle='tooltip']").tooltip();//加这个是为了让操作列的提示图标显示在上方
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}

//商机管理
function opportunityListc(){
    //先销毁表格
    $opportunityListDetail.bootstrapTable('destroy');
    $opportunityListDetail.bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/customerController/opportunityByCustomerIdList',//请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'createTm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '-',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'opportunityId',
        idField: 'opportunityId',
        pageSize: 5,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: "[5]",//可供选择的每页的行数
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var temp = {
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sortName: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                customerId :customerId
            };
            return temp;
        },
        columns: [
            {title: '主键', field: 'opportunityId', visible: false},
            {title: '序号', field: 'index', align: 'center', valign: 'middle', formatter: indexFormat},
            {title: '商机标题', field: 'opportunityTitle', align: 'left', valign: 'middle',formatter: opportunityTitleFormat},
            /*{title: '客户名称', field: 'customerName', align: 'left', valign: 'middle'},*/
            {title: '客户联系人', field: 'contactName', align: 'left', valign: 'middle',formatter: oppContactNameFormat},
            {title: '商机状态', field: 'opportunityStatus', align: 'left', valign: 'middle',formatter: opportunityStatusFormat},
            {title: '创建时间', field: 'createTm', align: 'left', valign: 'middle',formatter:dateFormat},
            {title: '预计签单时间', field: 'estimatedSigningTime', align: 'left', valign: 'middle',formatter:dateFormat},
            {title: '最后跟进时间', field: 'lastFollowUpTime', align: 'left', valign: 'middle',formatter:dateFormat}
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //加载成功时执行
            $("[data-toggle='tooltip']").tooltip();//加这个是为了让操作列的提示图标显示在上方
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}

/**
 * 点击商机标题跳转商机详情页面
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function opportunityTitleFormat(value, row, index) {
    return '<a href="JavaScript:void(0);" onclick=\'opportunityDetail(\"'+row.opportunityId+'")\'>'+value+'</a>';
}

function  opportunityDetail(opportunityId) {
    parent.$(parent.document).data('multitabs').create({
        iframe : true,
        title : '商机详情',
        url : "/front/opportunityManager/opportunityDetail?opportunityId=" + opportunityId
    }, true);
}

/**
 * 点击商机联系人姓名跳转联系人详情页面
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function oppContactNameFormat(value, row, index) {
    return '<a href="JavaScript:void(0);" onclick=\'oppContactDetail(\"'+row.contactId+'")\'>'+value+'</a>';
}

function  oppContactDetail(contactId) {
    parent.$(parent.document).data('multitabs').create({
        iframe: true,
        title: '联系人详情',
        url: "/front/user/contactManager/contactDetail?contactId=" + contactId
    },true);
}

//跟进记录
function followUpRecordc(){
    //先销毁表格
    $followUpRecordDetail.bootstrapTable('destroy');
    $followUpRecordDetail.bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/customerController/clueFollowList',//请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'createTm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '-',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'clueFollowId',
        idField: 'clueFollowId',
        pageSize: 5,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: "[5]",//可供选择的每页的行数
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var temp = {
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sortName: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                customerId :customerId
            };
            return temp;
        },
        columns: [
            {title: '主键', field: 'clueFollowId', visible: false},
            {title: '序号', field: 'index', align: 'center', valign: 'middle', formatter: indexFormat},
            {title: '跟进方式', field: 'followWay', align: 'left', valign: 'middle',formatter: followWayFormat},
            {title: '跟进时间', field: 'followTm', align: 'left', valign: 'middle',formatter:dateFormat},
            {title: '联系人姓名', field: 'contactName', align: 'left', valign: 'middle',formatter:followContactNameFormat},
            {title: '联系方式', field: 'contactInformation', align: 'left', valign: 'middle',
                formatter: function (value, row, index) {
                    var telBtn = '';
                    if(row.followSource == 6 && row.personPhone){//一机多用联系人显示(直接从cp_clue_follow表获取)
                        telBtn += '<button class="tel-button" onclick="callCenter(\'' + row.personPhone + '\');"><i class="mdi mdi-phone"></i></button>';
                        return transTelNumber(row.personPhone) + telBtn;
                    }else{
                        if (value) {
                            telBtn += '<button class="tel-button" onclick="callCenter(\'' + value + '\');"><i class="mdi mdi-phone"></i></button>';
                            return transTelNumber(value) + telBtn;
                        } else {
                            return '-';
                        }
                    }
                }
            },
            {
                title: '跟进详情', field: 'followDetail', align: 'left', valign: 'middle',
                cellStyle: function (value, row, index) {
                    return {
                        css: {
                            "min-width": "100px",
                            "white-space": "nowrap",
                            "text-overflow": "ellipsis",
                            "overflow": "hidden",
                            "max-width": "200px"
                        }
                    }
                }
            }
            /*{title: '意向判断', field: 'intentionJudgment', align: 'left', valign: 'middle'},
            {title: '跟进目的', field: 'followPurpose', align: 'left', valign: 'middle',formatter: followPurposeFormat},
            {title: '标签', field: 'tag', align: 'left', valign: 'middle'},
            {title: '产品类别', field: 'followProduct', align: 'left', valign: 'middle',formatter: followProductFormat},
            {title: '过程类别', field: 'followProcess', align: 'left', valign: 'middle',formatter: followProcessFormat},
            {title: '创建时间', field: 'createTm', align: 'left', valign: 'middle',formatter:dateFormat},*/
            /*{title: '操作', field: 'operate', align: 'left',events: operateEvents, formatter: followUpRecordGenderOpt}*/
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //加载成功时执行
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}


/**
 * 自定义操作列内容
 */
function followUpRecordGenderOpt(value, row, index) {
    var html = '<button type="button" id="customerFollowRecordDetail" class="btn btn-default"><i class="mdi mdi-eye"></i>查看</button>';
    return html;
}

window.operateEvents = {
    //查看点击事件--(followWay)跟进方式：1-线上电话；2-拜访 3-微信 4-线下电话 5-邮箱 6-陪访
    'click #customerFollowRecordDetail': function (e, value, row, index) {
        parent.$(parent.document).data('multitabs').create({
            iframe : true,
            title : '跟进详情',
            url : "/front/customerManager/customerFollowRecordDetail?followWay=" + row.followWay +"&clueFollowId=" + row.clueFollowId
        }, true);
    }
};

//拜访记录
function visitRecordc(){
    //先销毁表格
    $visitRecordDetail.bootstrapTable('destroy');
    $visitRecordDetail.bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        url: '/customerController/visitRecordList',//请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'createTm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '-',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'clueVisitRecordId',
        idField: 'clueVisitRecordId',
        pageSize: 5,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: "[5]",//可供选择的每页的行数
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var temp = {
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sortName: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
                customerId :customerId
            };
            return temp;
        },
        columns: [
            {title: '主键', field: 'clueVisitRecordId', visible: false},
            {title: '序号', field: 'index', align: 'center', valign: 'middle', formatter: indexFormat},
            {title: '拜访目的', field: 'visitPurpose', align: 'left', valign: 'middle'},
            {title: '陪访人', field: 'accompanyVisitPeople', align: 'left', valign: 'middle'},
            {title: '拜访地址', field: 'visitAddress', align: 'left', valign: 'middle'},
            {title: '联系人', field: 'contactPerson', align: 'left', valign: 'middle'},
            {title: '联系电话', field: 'contactInformation', align: 'left', valign: 'middle',
                formatter: function (value) {
                    var telBtn = '';
                    if (value) {
                        telBtn += '<button class="tel-button" onclick="callCenter(\'' + value + '\');"><i class="mdi mdi-phone"></i></button>';
                    }
                    return transTelNumber(value) + telBtn;
                }
            },
            {title: '职务', field: 'contactJob', align: 'left', valign: 'middle',formatter: contactPositionFormat},
            {title: '沟通时长(分)', field: 'communicationTime', align: 'left', valign: 'middle',formatter: TimeFormat},
            {title: '拜访详情', field: 'visitDetail', align: 'left', valign: 'middle'},
            {title: '创建时间', field: 'createTm', align: 'left', valign: 'middle',formatter:dateFormat},
            /*{title: '操作', field: 'operate', align: 'left',events: operateEvents, formatter: visitRecordGenderOpt}*/
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //加载成功时执行
            $("[data-toggle='tooltip']").tooltip();//加这个是为了让操作列的提示图标显示在上方
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}


/**
 * 新增续费弹框
 */
function renewTableInit(){
    //先销毁表格
    $renewTable.bootstrapTable('destroy');
    $renewTable.bootstrapTable({
        classes: 'table  table-hover table-responsive ',
        url: '/customerMemberProduct/selectContractMemberProductList',//请求地址
        method: 'post',//请求方式
        contentType: "application/json;charset=utf-8",//请求内容类型
        dataType: "json",//数据类型
        height: 300,
        // // minimumCountColumns:5,
        // fixedColumns: true,
        // showColumns: true,
        // scrollCollapse: true,
        // scrollY:true,
        fixedNumber: 1, //固定列数
        striped: false,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'createTm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        // clickToSelect: true,                // 是否启用点击选中行
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '-',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'clueVisitRecordId',
        idField: 'clueVisitRecordId',
        pageSize:100,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: "[20]",//可供选择的每页的行数
        serverSelected: true,// 开启后端分页记住已选项功能
        serverSelectedField: "customerProductId",// 已选项的唯一识别主键
        queryParams: function (params) {
            //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
            var temp = {
                pageSize: params.limit,                         //页面大小
                pageIndex: (params.offset / params.limit) + 1,   //页码
                sortName: params.sort,      //排序列名
                sortOrder: params.order, //排位命令（desc，asc）
            };
            return JSON.stringify(temp);
        },
        columns: [
            {title: '主键', field: 'customerProductId', visible: false},
            {checkbox: true, visible: true},
            {title: '产品名称', field: 'productName', align: 'left', valign: 'middle'},
            {title: '产品原价', field: 'productOriginalPrice', align: 'left', valign: 'middle'},
            {title: '产品单价', field: 'productUnitPrice', align: 'left', valign: 'middle'},
            {title: '产品会员价', field: 'productMemberPrice', align: 'left', valign: 'middle'},
            {title: '当前报价', field: 'productDiscountPrice', align: 'left', valign: 'middle', width: '160', events: productFormat.priceEvent, formatter: productFormat.discountPrice},
            {title: '购买数量', field: 'productNumber', align: 'left', valign: 'middle', width: '160', events: productFormat.numberEvent, formatter: productFormat.number},
            // {title: '计价', field: 'number', align: 'left', valign: 'middle'},
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onPostBody: function (data) {
            calculationAmount();
        },
        onLoadSuccess: function () {
            //加载成功时执行
            $("[data-toggle='tooltip']").tooltip();//加这个是为了让操作列的提示图标显示在上方
        },
        onCheckAll:function(rows){
            calculationAmount();
        },
        onCheck:function(row){
            calculationAmount();
        },
        onUncheck:function(row){
            calculationAmount();
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}

function calculationAmount(){
    var totalFlag = true;
    var examineFlag = false;

    var productPriceTotal = 0;          // 产品总金额 = 产品原价 * 数量
    var valuationTotal = 0;             // 计价总计  = 当前报价 * 数量
    var productMemberPriceTotal = 0;    // 产品会员价


    var idlist = $('#renewTable').bootstrapTable('getAllSelections');

    for (var i = 0; i < idlist.length; i++) {
        valuationTotal += idlist[i].productDiscountPrice * idlist[i].productNumber;
        productPriceTotal += idlist[i].productMemberPrice * idlist[i].productNumber;
        productMemberPriceTotal += idlist[i].productMemberPrice * idlist[i].productNumber;
        if (idlist[i].productDiscountPrice == '') {
            totalFlag = false;
        }
        // 当前报价小于会员价 && 不为空 => 触发审核
        if (idlist[i].productDiscountPrice < idlist[i].productMemberPrice && idlist[i].productDiscountPrice != '') {
            examineFlag = true;
            $('#examineType').val('1');
        } else {
            $('#examineType').val('0');
        }
    }
    // 表格右上方计价总计赋值
    $('#productTotal').html(valuationTotal);
    // 隐藏域赋值：计价总计
    $('#productTotalInput').val(valuationTotal);
    // 会员产品总金额
    $('#productDiscountTotalInput').val(productPriceTotal);

    // 统计价格: 报价不为空进行总价计算并判断是否触发审批，为空则合同金额归零
    if (totalFlag) {
        // 价格统计
        priceTotal();
        // 审核判断：报价小于会员价则触发审批
        if (examineFlag) {
            // 触发审核
            $('.approval').show(0);
        } else {
            // 不触发审核
            $('.approval').hide(0);
            $('.approval').find('input, textarea').val('');
        }
    } else {
        // 当前报价为空时，合同金额归零处理并隐藏审核条件
        $('#totalAmount, #discountAmount, #realAmount, #receivables').html('0');
        $('.approval').hide(0);
        $('.approval').find('input, textarea').val('');
    }
}

/**
 * 会员卡
 */
function cardc() {
    $cardList.bootstrapTable('destroy');
    $cardList.bootstrapTable({
        classes: 'table table-hover table-bordered',
        url: '/customerController/selectCardByCustomerIdList',//请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: false,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'createTm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '-',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'customerProductDetailMemberCardId',
        idField: 'customerProductDetailMemberCardId',
        pageSize: 10,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: "[10]",//可供选择的每页的行数
        queryParams: function(params){
            params.pageSize = params.limit;
            params.pageIndex = (params.offset / params.limit) + 1;
            params.sortName = params.sort; //排序列名
            params.sortOrder = params.order;//排序方式
            params.customerId = customerId; //客户id
            return params;
        },//查询参数
        columns: [
            {title: '主键', field: 'customerProductDetailMemberCardId', visible: false},
            {title: '序号', field: 'index', align: 'center', valign: 'left', width: '60', formatter: indexFormat},
            {title: '产品名称', field: 'productName', align: 'left', valign: 'middle'},
            {title: '会员卡号', field: 'memberCardNumber', align: 'left', valign: 'middle'},
            {title: '密码', field: 'memberCardPassword', align: 'left', valign: 'middle'},
            {title: '开始时间', field: 'startTm', align: 'left', valign: 'middle'},
            {title: '合同编号', field: 'contractNumber', align: 'left', valign: 'middle', formatter: contractNumberFormat},
            {title: '订单编号', field: 'orderNumber', align: 'left', valign: 'middle', formatter: orderNumberFormat},
            {title: '操作', field: 'operate', align: 'right', width: '80', events: productEvents, formatter: consumptionProductOpt}
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {

        },
        onLoadError: function (status) {
            if (status == 403) {
                promptInfo("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                promptInfo("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}

/**
 * 会员产品操作列内容
 */
function consumptionProductOpt(value, row, index) {
    var html = '<button type="button" onclick=\'xfjl(\"'+row.memberCardNumber+'")\' class="btn btn-default"><i class="mdi mdi-format-list-bulleted"></i>消费记录</button>';
    return html;
}

function xfjl(memberCardNumber){
    var url = 'https://nsrjlb.com/m/m_xuanchan/cardRecording.php?name=' + memberCardNumber;
    $('#expensesRecordIframe').attr('src', url)
    $('#expensesRecordIframe').css('width', '100%')
    $('#expensesRecordIframe').css('height', '550px')
    $('#expensesRecord').modal('show')
}

/**
 * 税法直通车
 */
function taxCardc() {
    $taxCardList.bootstrapTable('destroy');
    $taxCardList.bootstrapTable({
        classes: 'table table-hover table-bordered',
        url: '/customerController/selectTaxCardByCustomerIdList',//请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: false,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'createTm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '-',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'throughTrainTaxId',
        idField: 'throughTrainTaxId',
        pageSize: 10,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: "[10]",//可供选择的每页的行数
        queryParams: function(params){
            params.pageSize = params.limit;
            params.pageIndex = (params.offset / params.limit) + 1;
            params.sortName = params.sort; //排序列名
            params.sortOrder = params.order;//排序方式
            params.customerId = customerId; //客户id
            return params;
        },//查询参数
        columns: [
            {title: '主键', field: 'throughTrainTaxId', visible: false},
            {title: '序号', field: 'index', align: 'center', valign: 'left', width: '60', formatter: indexFormat},
            {title: '会员卡号', field: 'memberCardNumber', align: 'left', valign: 'middle'},
            {title: '密码', field: 'memberCardPassword', align: 'left', valign: 'middle'},
            {title: '创建', field: 'createTm', align: 'left', valign: 'middle'}
        ],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {

        },
        onLoadError: function (status) {
            if (status == 403) {
                promptInfo("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                promptInfo("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}

/**
 * 活动产品列表 - 自定义内容
 * */
var productFormat = {
    // 产品价格
    priceChose: function (value, row, index, field) {
        return value;
    },
    // 当前报价
    discountPrice: function (value, row, index, field) {
        var discountPriceValue;
        value == undefined ? discountPriceValue = '' : discountPriceValue = value;
        if (discountPriceValue != '') {
            discountPriceValue = parseFloat(discountPriceValue);
        }
        var inputId = 'productDiscountPrice' + index;
        var inputHtml = '<input type="text" value="' + discountPriceValue + '" placeholder="请输入" class="form-control" id="' + inputId + '">';
        row.productDiscountPrice = discountPriceValue || $(inputHtml).val();

        return inputHtml;
    },
    // 产品数量
    number: function (value, row, index, field) {
        var numberValue = Number(value) || 1;
        var inputId = 'productNumber' + index;
        var inputHtml = '<input type="text" value="' + numberValue + '" placeholder="请输入" class="form-control" id="' + inputId + '">';
        row.productNumber = numberValue || $(inputHtml).val();

        return inputHtml;
    },
    // 总计
    total: function (value, row, index, field) {
        return row.productDiscountPrice * row.productNumber;
    },
    // 优惠后价格 自定义事件
    priceEvent: {
        'change input': function (e, value, row, index) {
            var newValue = productPriceTest(e, value, row);
            if (newValue == 'stop') return;

            productFormat.discountPrice(newValue, row);
            $('#renewTable').bootstrapTable('updateRow', {
                index,
                replace: true,
                row
            });
        }
    },
    numberEvent: {
        'change input': function (e, value, row, index) {
            // 对数值进行判断
            var newValue = numberTest(e, value);
            if (newValue == 'stop') return;

            productFormat.number(newValue, row);
            productFormat.total(value, row, index, 'productTotal');
            $('#renewTable').bootstrapTable('updateRow', {
                index,
                replace: true,
                row
            });
        }
    }
};


/**
 * 功能：产品数量判断
 * */
function numberTest(e, preValue) {
    // 移除字符串的空格
    var newVal = $(e.target).val().replace(/\s/g,"");
    if (newVal == '0') {
        promptInfo('数量必须大于等于 1，请重新输入！');
        $(e.target).val(preValue);
        return 'stop';
    }
    if (newVal % 1 !== 0 || newVal < 0 || newVal == '') {
        promptInfo('数量只能为正整数，请重新输入！');
        $(e.target).val(preValue);
        return 'stop';
    }
    if (newVal == preValue) {
        $(e.target).val(preValue);
        return 'stop';
    }
    return newVal;
}

/**
 * 功能：产品列表价格判断
 * */
function productPriceTest(e, preValue, row) {
    // 获取当前价格(移除字符串的空格)
    var newVal = $(e.target).val().replace(/\s/g,"");
    // 输入空值判断
    if (newVal == '') {
        return '';
    }
    // 输入值等于前值判断
    if (newVal == preValue) {
        $(e.target).val(preValue);
        return 'stop';
    }
    // '非数字'或'小于0' 判断
    if (isNaN(newVal) || newVal < 0) {
        promptInfo("请输入正确的价格！");
        $(e.target).val(preValue);
        return 'stop';
    }
    return parseFloat(newVal).toFixed(2);
}

/**
 * 功能：价格统计显示
 * 说明：合同总金额 = 非会员产品原价(会员产品会员价) * 数量
 *      产品计价总计 = 当前报价 * 数量
 *      合同优惠总金额 = 合同总金额 - 产品计价总计 + 优惠券减免额度
 *      应收款 = 计价总计 - 优惠免减额度 + 附加费用
 * */
function priceTotal() {
    var $productTotalValue = parseFloat($('#productDiscountTotalInput').val()) || 0;                                // 合同总金额
    var $productDiscountTotalValue = parseFloat($('#productTotalInput').val()) || 0;                                // 合同计价总计 = 当前报价 * 数量
    var $surchargeValue = parseFloat($('#surcharge').val()) || 0;                                                   // 附加费用
    var $couponValue = 0;

    // 合同总金额 = 非会员产品原价(会员产品会员价) * 数量
    var totalAmountVal = $productTotalValue;
    $('#totalAmount').html(Number(totalAmountVal.toFixed(2)));
    // 合同优惠总金额 = 合同总金额 - 产品计价总计 + 优惠券减免额度
    var discountAmountVal = $productTotalValue - $productDiscountTotalValue + $couponValue;
    if (discountAmountVal < 0 ) {
        discountAmountVal = 0;
    }
    $('#discountAmount').html(Number(discountAmountVal.toFixed(2)));

    // 合同实际总金额 = 计价总计 - 优惠券免减额度
    var realAmountVal = $productDiscountTotalValue - $couponValue;
    $('#realAmount').html(Number(realAmountVal.toFixed(2)));

    // 应收款 = 计价总计 - 优惠券免减额度 + 附加费用
    var receivablesVal = $productDiscountTotalValue - $couponValue + $surchargeValue;
    $('#receivables').html(Number(receivablesVal.toFixed(2)));
}





/**
 * 自定义操作列内容
 */
function visitRecordGenderOpt(value, row, index) {
    var html = '<button type="button" id="visitRecordDetail" class="btn btn-default"><i class="mdi mdi-eye"></i>查看</button>';
    return html;
}

/*window.operateEvents = {
    //查看点击事件
    'click #visitRecordDetail': function (e, value, row, index) {
        /!*parent.$(parent.document).data('multitabs').create({
            iframe : true,
            title : '商机详情',
            url : "/front/user/opportunityManager/userOpportunityDetail?opportunityId=" + row.opportunityId
        }, true);*!/
    }
};*/

/**
 * --列表序列号
 */
function indexFormat(value, row, index) {
    return index + 1;
}

/**
 * 时间转换
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function dateFormat(value, row, index) {
    if (value != null) {
        var date = new Date(value);
        var month = date.getMonth()+1;
        var tian = date.getDate();
        if (month >= 1 && month <= 9) {
            month = "0" + month;
        }
        if (tian >= 1 && tian <= 9) {
            tian = "0" + tian;
        }

        return date.getFullYear() + '-' + month + '-' + tian;
    }
}

/**
 * 自定义操作列内容
 */
function genderOpt(value, row, index) {
    if (row.abolishState == 1) {
        var html = '<button type="button" class="btn btn-default" id="edit" onclick="editContact(\'' + row.customerContactPersonId + '\');"><i class="mdi mdi-pencil"></i>修改</button>';
        return html;
    } else {
        return '<span >-</span>';
    }
}

/**
 * 联系人废止状态  1启动 2废止
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function abolishStateFormat(value, row, index){
    var is_checked = '';
    if (value == null || value == undefined || value == 0) {
        return "-";
    }else if (value == 2) {
        is_checked = '';
    } else if (value == 1) {
        is_checked = 'checked="checked"';
    }
    var poolStateHtml = '<label class="lyear-switch switch-solid switch-success">' +
        '<input type="checkbox" id="abolishState' + row.customerContactPersonId  + '" ' + is_checked + '>' +
        '<span  onClick="updateAbolishState(\'' + row.customerContactPersonId + '\',\'' + row.contactName + '\',\'' + row.contactInformation + '\',\'' + row.isSeniorExecutive + '\', \'' + value + '\')"></span>' +
        '</label>';
    return poolStateHtml;
}

/**
 * 联系人类型(在职 0  离职 1)
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function poolTypeFormat(value, row, index) {
    if (value == null || value == undefined) {
        return "-";
    } else if (0 == value) {
        return "<span class='label label-success-light'>在职</span>";
    } else if (1 == value) {
        return "<span class='label label-info-light'>离职</span>";
    }
}

/**
 * 联系人类型(主联系人1  从联系人2)
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function contactStateFormat(value, row, index) {
    if (value == null || value == undefined) {
        return "-";
    } else if (1 == value) {
        return "<span class='label label-success-light'>主</span>";
    } else if (2 == value) {
        return "<span class='label label-info-light'>从</span>";
    }
}

/**
 * 核实状态(1-核实成功  2核实失败 3待核实 4核实未知)
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function verifyStatusFormat(value, row, index) {
    if (value == null || value == undefined) {
        return "-";
    } else if (1 == value) {
        return "<span class='label label-success-light'>核实成功</span>";
    } else if (2 == value) {
        return "<span class='label label-info-light'>核实失败</span>";
    }else if (3 == value) {
        return "<span class='label label-info-light'>待核实</span>";
    }else if (4 == value) {
        return "<span class='label label-info-light'>核实未知</span>";
    }
}

/**
 * 需求  0-产品,1-会员
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function demandTypeFormat(value, row, index) {
    if (value == null || value == undefined) {
        return "-";
    } else if (0 == value) {
        return "<span class='label label-success-light'>产品</span>";
    } else if (1 == value) {
        return "<span class='label label-info-light'>会员</span>";
    }
}

/**
 * 点击商机标题跳转商机详情页面
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function opportunityTitleFormat(value, row, index) {
    return '<a href="JavaScript:void(0);" onclick=\'opportunityDetail(\"'+row.opportunityId+'")\'>'+value+'</a>';
}

function  opportunityDetail(opportunityId) {
    parent.$(parent.document).data('multitabs').create({
        iframe : true,
        title : '商机详情',
        url : "/front/opportunityManager/opportunityDetail?opportunityId=" + opportunityId
    }, true);
}

/**
 * 点击联系人姓名跳转联系人详情页面
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function sjContactNameFormat(value, row, index) {
    var contactName = value.substring(0,value.lastIndexOf('_'));
    var contactId = value.substring(value.lastIndexOf('_')+1,value.length);
    return '<a href="JavaScript:void(0);" onclick=\'SjContactDetail(\"'+contactId+'")\'>'+contactName+'</a>';
}

/**
 * 点击跟进记录,联系人姓名跳转联系人详情页面
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function followContactNameFormat(value, row, index) {
    if(row.followSource == 6 && row.personName){//一机多用联系人显示(直接从cp_clue_follow表获取)
        return '<span href="JavaScript:void(0);">' + row.personName+'</span>';
    }else{
        if(value != null) {
            return '<a href="JavaScript:void(0);" onclick=\'SjContactDetail(\"'+row.contactId+'")\'>'+value+'</a>';
        } else {
            return '-'
        }
    }
}

function  SjContactDetail(contactId) {
    parent.$(parent.document).data('multitabs').create({
        iframe: true,
        title: '联系人详情',
        url: "/front/user/contactManager/contactDetail?contactId=" + contactId
    },true);
}

/**
 * 商机状态
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function opportunityStatusFormat(value, row, index) {
    if (value == null || value == undefined) {
        return "-";
    } else if (1 == value) {
        return "<span class='label label-success-light'>初步洽谈</span>";
    } else if (2 == value) {
        return "<span class='label label-yellow-light'>需求确定</span>";
    } else if (3 == value) {
        return "<span class='label label-info-light'>方案报价</span>";
    } else if (4 == value){
        return "<span class='label label-purple-light'>谈判</span>";
    }else if (5 == value){
        return "<span class='label label-purple-light'>洽谈合同</span>";
    }else if (6 == value){
        return "<span class='label label-purple-light'>赢单</span>";
    }else if (7 == value){
        return "<span class='label label-purple-light'>输单</span>";
    }
}

/**
 * 跟进方式
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function followWayFormat(value, row, index) {
    if (value == null || value == undefined) {
        return "-";
    } else if (1 == value) {
        return "<span class='label label-success-light'>线上电话</span>";
    } else if (2 == value) {
        return "<span class='label label-yellow-light'>拜访</span>";
    } else if (3 == value) {
        return "<span class='label label-info-light'>微信</span>";
    } else if (4 == value){
        return "<span class='label label-purple-light'>线下电话</span>";
    }else if (5 == value){
        return "<span class='label label-purple-light'>邮箱</span>";
    }else if (6 == value){
        return "<span class='label label-purple-light'>陪访</span>";
    }
}

/**
 * 客户质量
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function customerQualityFormat(value, row, index) {
    if (value == null || value == undefined) {
        return "-";
    } else if (1 == value) {
        return "<span class='label label-success-light'>优</span>";
    } else if (2 == value) {
        return "<span class='label label-yellow-light'>良</span>";
    } else if (3 == value) {
        return "<span class='label label-info-light'>一般</span>";
    }
}

/**
 * 跟进目的
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function followPurposeFormat(value, row, index) {
    if (value == null || value == undefined) {
        return "-";
    } else if (1 == value) {
        return "<span class='label label-success-light'>产品跟进</span>";
    } else if (2 == value) {
        return "<span class='label label-yellow-light'>过程跟进</span>";
    }
}

/**
 * 产品类别
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function followProductFormat(value, row, index) {
    if (value == null || value == undefined) {
        return "-";
    } else if (1 == value) {
        return "<span class='label label-success-light'>会员</span>";
    } else if (2 == value) {
        return "<span class='label label-yellow-light'>非会员</span>";
    }
}

/**
 * 过程类别
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function followProcessFormat(value, row, index) {
    if (value == null || value == undefined) {
        return "-";
    } else if (1 == value) {
        return "<span class='label label-success-light'>询问意向</span>";
    } else if (2 == value) {
        return "<span class='label label-yellow-light'>再次跟进</span>";
    }else if (3 == value) {
        return "<span class='label label-yellow-light'>成交</span>";
    }else if (4 == value) {
        return "<span class='label label-yellow-light'>意向关怀</span>";
    }
}

/**
 * 转换为分
 * @param value
 * @param row
 * @param index
 * @returns {number}
 * @constructor
 */
function TimeFormat(value, row, index) {
    var time = value/60;
    return time;
}

/**
 * 职务
 * @param value
 * @param row
 * @param index
 * @returns {string}
 */
function contactPositionFormat(value, row, index) {
    if (value == null || value == undefined) {
        return "-";
    } else if (0 == value) {
        return "<span class='label label-success-light'>公司管理</span>";
    } else if (1 == value) {
        return "<span class='label label-yellow-light'>财务</span>";
    }else if (2 == value) {
        return "<span class='label label-yellow-light'>人力</span>";
    }else if (3 == value) {
        return "<span class='label label-yellow-light'>其他</span>";
    }
}

/**
 * 商机的自定义操作列内容
 */
function opportunityOpt(value, row, index) {
    var html = '<button type="button" class="btn btn-default" onclick="getOpportunityId(' + row.opportunityId + ')"><i class="mdi mdi-pencil"></i>修改</button>';
    html += '<button type="button" class="btn btn-default btn-danger" onclick="deleteOpportunity(' + row.opportunityId + ')">><i class="mdi mdi-delete"></i>删除</button>';
    return html;
    /*return [
        '<a type="button" id="updateSj" class="btn btn-xs btn-default edit-btn"' +
        'data-toggle="tooltip" onclick=\'getOpportunityId("'+row.opportunityId+'")\'>' +
        '<i class="mdi mdi-pencil"></i>修改</a>'+
        '<a style="margin: 0 6px;" type="button" id="edit" class="btn btn-xs btn-default edit-btn" ' +
        'data-toggle="tooltip" onclick=\'deleteOpportunity("'+row.opportunityId+'")\'>' +
        '<i class="mdi mdi-delete" style="padding-right: 6px;"></i>删除</a>'
    ].join('');*/
}


/**
 * 开启/废止客户详情下联系人
 * @param customerContactPersonId 客户下联系人id
 * @param contactName 联系人姓名
 * @param contactInformation 联系方式
 * @param isSeniorExecutive  0高管 1非高管
 * @param abolishState 废止状态  1启动 2废止
 */
function updateAbolishState(customerContactPersonId,contactName,contactInformation,isSeniorExecutive, abolishState){
    var abolishState = (abolishState == 1) ? 2 : 1; // 发送参数值跟当前参数值相反
    var confirmMessage = '';
    if (abolishState == 1) {
        confirmMessage = "确定启用联系人吗？";
    } else {
        confirmMessage = "确定废止联系人吗？";
    }

    $.alert({
        title: '提示',
        content: confirmMessage,
        buttons: {
            confirm: {
                text: '确认',
                btnClass: 'btn-primary',
                action: function () {
                    $.ajax({
                        type: "post",
                        url: "/customer/updateAbolishState",
                        data: {
                            customerId : customerId,
                            customerContactPersonId: customerContactPersonId,
                            contactName : contactName,
                            contactInformation : contactInformation,
                            abolishState: abolishState
                        },
                        dataType: 'json',
                        success: function (data, status) {
                            if (data.code == '000000') {
                                companyInformationc('0');
                                contactListc('1');
                                $contactListDetail.bootstrapTable('updateCellById', {id: customerContactPersonId, field: 'abolishState', value: abolishState});
                                $.alert('操作成功');
                            } else {
                                $.alert(data.message);
                                $contactListDetail.bootstrapTable('updateCellById', {id: customerContactPersonId, field: 'abolishState', value: abolishState}); // 因开关点击后样式是变的，失败也重置下
                            }
                        },
                        error: function () {
                            $.alert('修改失败，请稍后再试!');
                            $contactListDetail.bootstrapTable('updateCellById', {id: customerContactPersonId, field: 'abolishState', value: abolishState}); // 因开关点击后样式是变的，失败也重置下
                        }
                    });
                }
            },
            cancel: {
                text: '取消',
                action: function () {
                    if(abolishState == 1){
                        $("#abolishState" + customerContactPersonId).prop('checked',false);
                    }else {
                        $("#abolishState" + customerContactPersonId).prop('checked',true);
                    }
                }
            }
        }
    });
}

// 渲染城市列表
function getProvinceLxr() {
    let provinceNames = [];
    $.each(cityJson[0], function (key, value) {
        provinceNames.push('<option value="' + key + '">' + value + '</option>')
    });
    $('#province').html(provinceNames.join('')).selectpicker('refresh');
    // getCityLxr('110000');
}
// 根据省获取市
function getCityLxr(provinceId) {
    $('#city').html('');
    let key = '0,' + provinceId;
    let cityNames = [];
    $.each(cityJson[key], function (key, value) {
        cityNames.push('<option value="' + key + '">' + value + '</option>')
    });
    $('#city').html(cityNames.join('')).selectpicker('refresh');
}
// '切换城市'
function changeCityLxr() {
    getCityLxr($('#province').val())
}

/**
 * 新增联系人
 */
function addCustomerContactPerson() {
    getProvinceLxr();

    $("#addModel").find('input[type=text],select').each(function() {
        $(this).val('').selectpicker('refresh');
    });
    $('#addModel').modal('show');
}

$("#contactType").change(function(){
    var td=$('#contactType option:selected').text();
    if(td =="其他"){
        $(".qt_a").css("display","inline-block");
    }else {
        $(".qt_a").css("display","none");
        $("#contactTypeQt").val("");
    }
});

/**
 * 提交新增联系人
 */
function saveCustomerContactPerson() {
    var contactName = $('#contactNameAdd').val(); //联系人姓名
    var contactPosition= $('#contactPositionAdd').val();  //职务
    var contactInformation= $('#contactInformationAdd').val();  //联系方式
    var onTheJobSituation = $('#onTheJobSituationAdd').val();  //在职情况
    var isSeniorExecutive = $('#isSeniorExecutive').val();  //高管状态
    var provinceId = $('#province').val();
    var provinceName = $('#province').find("option:selected").text();
    var cityId= $('#city').val();
    var cityName= $("#city").find("option:selected").text();
    var industry = $('#industry').val();  //行业
    var companyAddress = $('#companyAddress').val();  //公司地址
    var wx = $('#wxAdd').val();  //微信
    var mailBox = $('#mailBoxAdd').val();  //邮箱
    var currentIntention = $('#currentIntention').val();  //目前意向   0有意向 1无意向
    var contactState = $('#contactState').val();  //联系人类型    主联系人-1   从联系人-2
    var homeAddress = $('#homeAddress').val();  //家庭住址
    var duplicateContact = $('#duplicateContact').val();  //重名联系人
    var contactType = $('#contactType').val(); //联系类型
    var contactInformationType = $('#contactInformationType').val(); //联系方式类型

    // 验证表单
    var bootstrapValidator = $("#addContactForm").data('bootstrapValidator');
    bootstrapValidator.validate();
    if (!bootstrapValidator.isValid()) {
        return;
    }
    /*
        //联系人姓名为空判断
        var contactNameReg = /^[\u4e00-\u9fa5A-Za-z0-9_-]+[\)）（，；\(\.\%。\u4e00-\u9fa5A-Za-z0-9_-]?$/;
        var contactNamePattern = new RegExp(contactNameReg);
        if(!contactName){
            promptInfo("联系人姓名不能为空！");
            return;
        }else{
            if(!contactNamePattern.test(contactName)) {
                promptInfo("请输入正确的联系人姓名");
                return;
            }
        }

        //职务为空判断
        if(!contactPosition){
            promptInfo("职务不能为空！");
            return;
        }else{
            if(!contactNamePattern.test(contactPosition)) {
                promptInfo("请输入正确的职务");
                return;
            }
        }

        //联系方式为空判断
        var contactInformationReg = /^1[3|4|5|7|8][0-9]{9}$/; // 非负整数
        var contactInformationPattern = new RegExp(contactInformationReg);
        if(!contactInformation){
            promptInfo("联系方式不能为空！");
            return;
        }else{
            if(!contactInformationPattern.test(contactInformation)) {
                promptInfo("请输入正确的手机号");
                return;
            }
        }

        //联系类型
        if(!contactType){
            promptInfo("联系类型不能为空！");
            return;
        }else{
            if(contactType =="其他"){
                contactType = $('#contactTypeQt').val();
                if(!contactType){
                    promptInfo("其他联系类型不能为空！");
                    return;
                }
            }
        }

        //联系方式类型
        if(!contactInformationType){
            promptInfo("联系方式类型不能为空！");
            return;
        }


        //在职情况为空判断
        if(!onTheJobSituation){
            promptInfo("在职情况不能为空！");
            return;
        }

        //高管状态
        if(!isSeniorExecutive){
            promptInfo("高管状态不能为空！");
            return;
        }

        //所在地区省
        if(!provinceId){
            promptInfo("所在地区省不能为空！");
            return;
        }

        //所在地区市
        if(!cityId){
            promptInfo("所在地区市不能为空！");
            return;
        }


        //行业为空判断
        if(!industry){
            promptInfo("行业不能为空！");
            return;
        }else{
            if(!contactNamePattern.test(industry)) {
                promptInfo("请输入正确的行业");
                return;
            }
        }

        //公司地址为空判断
        if(!companyAddress){
            promptInfo("公司地址不能为空！");
            return;
        }else{
            if(!contactNamePattern.test(companyAddress)) {
                promptInfo("请输入正确的公司地址");
                return;
            }
        }

        //微信为空判断
        if(!wx){
            promptInfo("微信不能为空！");
            return;
        }else{
            if(!contactNamePattern.test(wx)) {
                promptInfo("请输入正确的微信");
                return;
            }
        }

        //邮箱为空判断
        var mailBoxReg = /^[A-Za-z\d]+([-_.][A-Za-z\d]+)*@([A-Za-z\d]+[-.])+[A-Za-z\d]{2,4}$/;
        var mailBoxPattern = new RegExp(mailBoxReg);
        if(!mailBox){
            promptInfo("邮箱不能为空！");
            return;
        }else {
            if (!mailBoxPattern.test(mailBox)) {
                promptInfo("请输入正确的邮箱");
                return;
            }
        }

        //目前意向为空判断
        if(!currentIntention){
            promptInfo("目前意向不能为空！");
            return;
        }

        //联系人类型为空判断
        if(!contactState){
            promptInfo("联系人类型不能为空！");
            return;
        }

        //家庭地址为空判断
        if(!homeAddress){
            promptInfo("家庭地址不能为空！");
            return;
        }else{
            if(!contactNamePattern.test(homeAddress)) {
                promptInfo("请输入正确的家庭地址");
                return;
            }
        }*/

    //同一客户下联系方式不能一样
    $.ajax({
        url: '/contact/getCustomerIdAndContactInformation',
        type: 'POST',
        dataType: "json",
        data: {
            customerId: customerId,
            contactInformation : contactInformation,
            contactNature : '0'
        },
        success: (function (data) {
            if (data.code == "000000") {
                if (data.data.length != 0) {
                    $.confirm({
                        title: '提示',
                        content: '<strong>\n' +
                            '<p>您输入的联系方式跟之前的一样,请重新编辑!</p>\n' +
                            '</strong>',
                        icon: 'glyphicon glyphicon-question-sign',
                        buttons: {
                            ok: {
                                text: '确定',
                                btnClass: 'btn-primary',
                                action: function () {

                                }
                            },
                        }
                    });
                } else {
                    getContactName();
                }

            } else {
                alert("操作失败");
            }
        }),
        error: (function () {
            alert("失败");
        })
    });
}

//联系人-新增联系人--同一客户下联系人重名-->合并联系方式
function getContactName(){
    $.ajax({
        url: '/contact/getContactName',
        type: 'POST',
        dataType: "json",
        data: {
            customerId: customerId,
            contactName: $('#contactNameAdd').val(),
            contactNature : '0'
        },
        success: (function (data) {
            if (data.code == "000000") {

                $("#duplicateContacts").find('input[type=text],select').each(function() {
                    $(this).val('');
                });

                if (data.code == "000000") {
                    if(data.data.length == 0){
                        addDuplicateContact('1');
                    }else{
                        var html = '<option value="">请选择</option>';
                        $.each(data.data, function(n, value) {
                            html += "<option value=" + value.contactId + ">" +  value.contactName+"_"+value.contactInformation + "</option>";
                        });
                        $("#duplicateContact").html(html).selectpicker('refresh');
                        $('#addModel').modal('hide');
                        $('#duplicateContacts').modal('show');
                    }

                } else {
                    alert("请求失败");
                }

            } else {
                alert("操作失败");
            }
        }),
        error: (function () {
            alert("失败");
        })
    });
}

//1直接新增  2校验联系方式去重
function addDuplicateContact(){
    var contactName = $('#contactNameAdd').val(); //联系人姓名
    var contactPosition= $('#contactPositionAdd').val();  //职务
    var contactInformation= $('#contactInformationAdd').val();  //联系方式
    var onTheJobSituation = $('#onTheJobSituationAdd').val();  //在职情况
    var isSeniorExecutive = $('#isSeniorExecutive').val();  //高管状态
    var provinceId = $('#province').val();
    var provinceName = $('#province').find("option:selected").text();
    var cityId= $('#city').val();
    var cityName= $("#city").find("option:selected").text();
    var industry = $('#industry').val();  //行业
    var companyAddress = $('#companyAddress').val();  //公司地址
    var wx = $('#wxAdd').val();  //微信
    var mailBox = $('#mailBoxAdd').val();  //邮箱
    var currentIntention = $('#currentIntention').val();  //目前意向   0有意向 1无意向
    var contactState = $('#contactState').val();  //联系人类型    主联系人-1   从联系人-2
    var homeAddress = $('#homeAddress').val();  //家庭住址
    var duplicateContact = $('#duplicateContact').val();  //重名联系人
    var contactType = $('#contactType').val(); //联系类型
    var contactInformationType = $('#contactInformationType').val(); //联系方式类型

    if(contactType =="其他"){
        contactType = $('#contactTypeQt').val();
    }

    var jsonDatan = {
        contactName: contactName,  //联系人姓名
        contactPosition: contactPosition,  //职务
        contactInformation: contactInformation,  //联系方式
        onTheJobSituation : parseInt(onTheJobSituation),  //在职情况
        isSeniorExecutive : parseInt(isSeniorExecutive),  //高管状态
        provinceId : provinceId,
        provinceName : provinceName,
        cityId: cityId,
        cityName: cityName,
        industry : industry,  //行业
        companyAddress : companyAddress,  //公司地址
        wx : wx,  //微信
        mailBox : mailBox,  //邮箱
        currentIntention : currentIntention,  //目前意向   0有意向 1无意向
        contactState : contactState,  //联系人类型    主联系人-1   从联系人-2
        customerId : customerId,
        mergeState : '0',
        homeAddress : homeAddress,  //家庭地址
        contactId : duplicateContact,  //联系人id  存在合并 不存在新增
        contactType : contactType,
        contactInformationType : contactInformationType
    };

    addContactAjax(jsonDatan);
}

function addContactAjax(jsonDatan){
    $.ajax({
        url: '/customer/addCustomerContactPerson',
        type: 'POST',
        dataType: "json",
        contentType: "application/json;charset=utf-8",
        data: JSON.stringify(jsonDatan),
        success: (function (data) {
            if (data.code == "000000") {
                $.alert("操作成功！");
                addHide();
                editduplicateContactHide();
                contactListc('1');
            } else {
                alert("操作失败");
            }
        }),
        error: (function () {
            alert("失败");
        })
    });
}

/**
 * 关闭重复联系人重名
 */
function editduplicateContactHide() {
    $('#duplicateContacts').modal('hide');
}

function addHide() {
    $('#addModel').modal('hide');
}

/**
 * 修改联系人
 */
function editContact(customerContactPersonId) {
    $.ajax({
        url: '/customer/getCustomerContactPerson',
        type: 'POST',
        dataType: "json",
        data: {
            customerContactPersonId : customerContactPersonId,
        },
        success: (function (data) {
            if (data.code == "000000") {
                $("#customerContactPersonId").val(data.data.customerContactPersonId);
                $("#contactName").val(data.data.contactName);
                $("#contactPosition").val(data.data.contactPosition);  //职务
                $("#onTheJobSituation").val(data.data.onTheJobSituation);  //在职情况
                $("#contactInformation").val(data.data.contactInformation);
                $("#mailBox").val(data.data.mailBox);  //wx
                $("#wx").val(data.data.wx);  //微信
                $('#editModel select').selectpicker('refresh');
                //$("#contactState").val(data.data.contactState);  //联系人类型    主联系人-1   从联系人-2
            } else {
                alert("请求失败");
            }
        }),
        error: (function (res) {
            alert("请求失败");
        })
    });
    $('#editModel').modal('show');
}

/**
 * 提交修改联系人
 */
function updateCustomerContactPerson() {
    var customerContactPersonId = $('#customerContactPersonId').val(); //客户下联系人id
    var contactName = $('#contactName').val(); //联系人姓名
    var contactPosition= $('#contactPosition').val();  //职务
    var contactInformation= $('#contactInformation').val();  //联系方式
    var onTheJobSituation = $('#onTheJobSituation').val();  //在职情况
    var wx = $('#wx').val();  //微信
    var mailBox = $('#mailBox').val();  //邮箱

    // 验证表单
    var bootstrapValidator = $("#edditContactForm").data('bootstrapValidator');
    bootstrapValidator.validate();
    if (!bootstrapValidator.isValid()) {
        return;
    }

    var jsonData = {
        customerContactPersonId : customerContactPersonId,
        contactName: contactName,  //联系人姓名
        contactPosition: contactPosition,  //职务
        contactInformation: contactInformation,  //联系方式
        onTheJobSituation : parseInt(onTheJobSituation),  //在职情况
        wx : wx,  //微信
        mailBox : mailBox,  //邮箱
        customerId : customerId,
        contactNature : "0"
    };

    $.ajax({
        url: '/customer/updateCustomerContactPerson',
        type: 'POST',
        dataType: "json",
        contentType: "application/json;charset=utf-8",
        data: JSON.stringify(jsonData),
        success: (function (data) {
            if (data.code == "000000") {
                $('#editModel').modal('hide');
                $.alert("操作成功！");
                companyInformationc('0');
                contactListc('1');
            }else {
                alert("操作失败");
            }
        }),
        error: (function () {
            alert("失败");
        })
    });


}


function editHide() {
    $('#editModel').modal('hide');
}

/**
 *跟进联系人
 */

function followUp() {

}

/**
 * 删除联系人
 */
function deleteCustomerContactPerson() {

}

function getNewsPicUpload(ele) {
    //文件选择
    var formData = new FormData();
    //获取选择文件个数
    var files = document.getElementById("files").files;
    //console.log(files);
    if (files.length == 0) {
    } else {
        var path = files[0].name;
        var suffix = path.substr(path.lastIndexOf('.'));
        var lowerSuffic = suffix.toLowerCase();
        if (lowerSuffic === '.jpg' || lowerSuffic === '.png' || lowerSuffic === '.gif') {
            //选择文件，上传选择文件
            for (let i = 0; i < files.length; i++) {
                formData.append('files', $(ele)[0].files[i]);
            }

            $.ajax({
                url: '/file/upload',
                type: 'POST',
                dataType: "json",
                contentType: false,
                data: formData,
                processData: false,
                success: (function (data) {
                    if (data.code == "000000") {
                        //进行照片回显
                        var files = [];
                        files = data.data;
                        $("#newsPic").attr('src', files[0].accessUrl);
                        $("#imageId").html(files[0].uploadId);
                    }
                }),
                error: (function (res) {
                    $.alert("失败");
                })
            });
        } else {
            $.alert('上传图片格式不正确');
        }



    }

}


/**
 * 新增需求分析
 */
function addDemandAnalysis() {
    /*//预算时间
    $("#budgetTime").datepicker({
        language: "zh-CN",
        autoclose: true,
        clearBtn: true,
        todayHighlight: true,
        format: "yyyy-mm-dd"
    }).on('hide', function (event) {
        event.stopPropagation();
        $('#demandAnalysisForm').data('bootstrapValidator')
            .updateStatus('budgetTime', 'NOT_VALIDATED',null)
            .validateField('budgetTime');
    });
    //跟进时间
    $("#followUpTime").datepicker({
        language: "zh-CN",
        autoclose: true,
        clearBtn: true,
        todayHighlight: true,
        format: "yyyy-mm-dd"
    });
    //竞品到期时间
    $("#competitorDueTime").datepicker({
        language: "zh-CN",
        autoclose: true,
        clearBtn: true,
        todayHighlight: true,
        format: "yyyy-mm-dd"
    }).on('hide', function (event) {
        event.stopPropagation();
        $('#demandAnalysisForm').data('bootstrapValidator')
            .updateStatus('competitorDueTime', 'NOT_VALIDATED',null)
            .validateField('competitorDueTime');
    });*/
    $("#addDemandAnalysisModel").find('input[type=text],select').each(function () {
        $(this).val('');
    });
    $('#addDemandAnalysisModel').modal('show');
}

/**
 * 提交需求分析
 */
function saveDemandAnalysis() {
    var demandType = $('#demandType').val(); //需求
    var director = $('#director').val();  //负责人
    var contactInformation = $('#contactInformationxq').val();  //联系方式
    var position = $('#position').val();  //职务
    var budget = $('#budget').val();  //预算
    var budgetTime = $('#budgetTime').val();//预算时间
    var annualCapitalIncome = $('#annualCapitalIncome').val();  //资金年收入
    var presentCompetitor = $('#presentCompetitor').val();  //目前竞品
    var competitorDueTime = $('#competitorDueTime').val();  //竞品到期时间
    var currentProgram = $('#currentProgram').val();  //目前方案
    var purchaseIntention = $('#purchaseIntention').val();  //购买意向
    var fiscalYearTarget = $('#fiscalYearTarget').val();  //财年目标

    // 验证表单
    var bootstrapValidator = $("#demandAnalysisForm").data('bootstrapValidator');
    bootstrapValidator.validate();
    if (!bootstrapValidator.isValid()) {
        return;
    }
    /*
    //需求为空判断
    if (!demandType) {
        promptInfo("需求不能为空！");
        return;
    }

    //负责人为空判断
    if (!director) {
        promptInfo("负责人不能为空！");
        return;
    }

    //联系方式为空判断
    if (!contactInformation) {
        promptInfo("联系方式不能为空！");
        return;
    }

    //职务为空判断
    if (!position) {
        promptInfo("职务不能为空！");
        return;
    }

    //预算为空判断
    if (!budget) {
        promptInfo("预算不能为空！");
        return;
    }

    //预算时间为空判断
    if (!budgetTime) {
        promptInfo("预算时间不能为空！");
        return;
    }

    //资金年收入为空判断
    if (!annualCapitalIncome) {
        promptInfo("资金年收入不能为空！");
        return;
    }

    //目前竞品为空判断
    if (!presentCompetitor) {
        promptInfo("目前竞品不能为空！");
        return;
    }

    //竞品到期时间为空判断
    if (!competitorDueTime) {
        promptInfo("竞品到期时间不能为空！");
        return;
    }

    //目前方案为空判断
    if (!currentProgram) {
        promptInfo("目前方案不能为空！");
        return;
    }

    //购买意向为空判断
    if (!purchaseIntention) {
        promptInfo("购买意向不能为空！");
        return;
    }

    //财年目标为空判断
    if (!fiscalYearTarget) {
        promptInfo("财年目标不能为空！");
        return;
    }*/

    var jsonData = {
        demandType: demandType, //需求
        director: director,  //负责人
        contactInformation: contactInformation,  //联系方式
        position: position,  //职务
        budget: budget,  //预算
        budgetTime: budgetTime,//预算时间
        annualCapitalIncome: annualCapitalIncome,  //资金年收入
        presentCompetitor: presentCompetitor,  //目前竞品
        competitorDueTime: competitorDueTime,  //竞品到期时间
        currentProgram: currentProgram,  //目前方案
        purchaseIntention: purchaseIntention,  //购买意向
        fiscalYearTarget: fiscalYearTarget,  //财年目标
        customerId: customerId
    };

    $.ajax({
        url: '/customer/addDemandAnalysis',
        type: 'POST',
        dataType: "json",
        contentType: "application/json;charset=utf-8",
        data: JSON.stringify(jsonData),
        success: (function (data) {
            if (data.code == "000000") {
                $('#addDemandAnalysisModel').modal('hide');
                $.alert("操作成功！");
                demandAnalysisListc();
            } else {
                alert("操作失败");
            }
        }),
        error: (function () {
            alert("失败");
        })
    });
}

function addDemandAnalysisHide() {
    $('#addDemandAnalysisModel').modal('hide');
}


/**
 * 新增竞品记录
 */
function addCompetitor() {
    //竞品到期时间
    $("#competitorDueTimej").datepicker({
        language: "zh-CN",
        autoclose: true,
        clearBtn: true,
        todayHighlight: true,
        format: "yyyy-mm-dd"
    }).on('hide', function () {
        $('#competitorForm').data('bootstrapValidator')
            .updateStatus('competitorDueTimej', 'NOT_VALIDATED',null)
            .validateField('competitorDueTimej');
    });
    $("#competitorDueTimej").on('hide', function(event) {
        event.stopPropagation();
    });
    $("#addCompetitorModel").find('input[type=text],select').each(function () {
        $(this).val('');
    });
    $('#addCompetitorModel').modal('show');
}

/**
 * 提交竞品
 */
function saveCompetitor() {
    var productName = $('#productName').val(); //产品名称
    var competitorName = $('#competitorName').val();  //竞品名称
    var productPrice = $('#productPrice').val();  //产品价格
    var competitorPrice = $('#competitorPrice').val();  //竞品价格
    var competitorUnit = $('#competitorUnit').val();  //竞品单位
    var competitorDueTime = $('#competitorDueTimej').val();//竞品到期时间
    var currentBudget = $('#currentBudget').val();  //当前预算
    var budgetDirector = $('#budgetDirector').val();  //预算负责人
    var directorInformation = $('#directorInformation').val();  //负责人联系方式

    // 验证表单
    var bootstrapValidator = $("#competitorForm").data('bootstrapValidator');
    bootstrapValidator.validate();
    if (!bootstrapValidator.isValid()) {
        return;
    }

    /*
    //产品名称为空判断
    var productNameReg = /^[\u4e00-\u9fa5A-Za-z0-9_-]+[\)）（，；\(\.\%。\u4e00-\u9fa5A-Za-z0-9_-]?$/;
    var pattern = new RegExp(productNameReg);
    if(!productName){
        promptInfo("产品名称不能为空！");
        return;
    }else{
        if(!pattern.test(productName)) {
            promptInfo("请输入正确的产品名称");
            return;
        }
    }

    //竞品名称为空判断
    if(!competitorName){
        promptInfo("竞品名称不能为空！");
        return;
    }else{
        if(!pattern.test(competitorName)) {
            promptInfo("请输入正确的竞品名称");
            return;
        }
    }

    //产品价格为空判断
    var priceReg = /(^[1-9]\d*(\.\d{1,2})?$)|(^0(\.\d{1,2})?$)/;
    var pricePattern = new RegExp(priceReg);
    if(!productPrice){
        promptInfo("产品价格不能为空！");
        return;
    }else{
        if(!pricePattern.test(productPrice)) {
            promptInfo("请输入正确的产品价格");
            return;
        }
    }

    //竞品价格为空判断
    if(!competitorPrice){
        promptInfo("竞品价格不能为空！");
        return;
    }else{
        if(!pricePattern.test(competitorPrice)) {
            promptInfo("请输入正确的竞品价格");
            return;
        }
    }

    //竞品单位为空判断
    if(!competitorUnit){
        promptInfo("竞品单位不能为空！");
        return;
    }else{
        if(!pattern.test(competitorUnit)) {
            promptInfo("请输入正确的竞品单位");
            return;
        }
    }

    //竞品到期时间为空判断
    if (!competitorDueTime) {
        promptInfo("竞品到期时间不能为空！");
        return;
    }

    //当前预算判断
    if(!currentBudget){
        promptInfo("当前预算不能为空！");
        return;
    }else{
        if(!pattern.test(currentBudget)) {
            promptInfo("请输入正确的当前预算");
            return;
        }
    }

    //预算负责人判断
    if(!budgetDirector){
        promptInfo("预算负责人不能为空！");
        return;
    }else{
        if(!pattern.test(budgetDirector)) {
            promptInfo("请输入正确的预算负责人");
            return;
        }
    }

    //负责人联系方式为空判断
    var contactInformationReg = /(^(\d{2,4}[-_－—]?)?\d{3,8}([-_－—]?\d{3,8})?([-_－—]?\d{1,7})?$)|(^0?1[35]\d{9}$)/; // 非负整数
    var directorInformationPattern = new RegExp(contactInformationReg);
    if(!directorInformation){
        promptInfo("负责人联系方式不能为空！");
        return;
    }else{
        if(!directorInformationPattern.test(directorInformation)) {
            promptInfo("请输入正确的负责人联系方式");
            return;
        }
    }*/


    var jsonData = {
        productName : productName, //产品名称
        competitorName : competitorName,  //竞品名称
        productPrice : productPrice,  //产品价格
        competitorPrice : competitorPrice,  //竞品价格
        competitorUnit : competitorUnit,  //竞品单位
        competitorDueTime : competitorDueTime,//竞品到期时间
        currentBudget : currentBudget,  //当前预算
        budgetDirector : budgetDirector,  //预算负责人
        directorInformation : directorInformation,  //负责人联系方式
        customerId: customerId
    };

    $.ajax({
        url: '/customerController/addCompetitor',
        type: 'POST',
        dataType: "json",
        contentType: "application/json;charset=utf-8",
        data: JSON.stringify(jsonData),
        success: (function (data) {
            if (data.code == "000000") {
                $('#addCompetitorModel').modal('hide');
                $.alert("操作成功！");
                competitorListc();
            } else {
                alert("操作失败");
            }
        }),
        error: (function () {
            alert("失败");
        })
    });
}

function addCompetitorHide() {
    $('#addCompetitorModel').modal('hide');
}

/**
 * 新增商机
 */
function addOpportunity() {
    parent.$(parent.document).data('multitabs').create({
        iframe : true,
        title : '新增商机',
        url : "/front/opportunityManager/addOpportunity?opportunityBs=3&customerId=" + customer.customerId + "&customerName=" + customer.customerName
        /*url : "/front/contactManager/user/clueFollow?type="+ type +"&id="
            + customerId +"&source=" +source*/
    }, true);
}

// function refreshTable() {
//     $('#opportunityListDetail').bootstrapTable('refresh');
// }
function refreshTable(id) {
    $('#'+id).bootstrapTable('refresh');
}

/**
 * 产品名称和客户联系人下拉框
 * @param bs 1新增 2修改
 */
function opportunityaddAndEdit(bs){
    //产品列表下拉框
    $.ajax({
        type: 'POST',
        dataType: "json",
        url: '/opportunity/productList',
        cache : false,
        data:{
        },
        async : false,
        success: (function (data) {
            if (data.code == "000000") {

                if (data.data.length == 0) {
                    if(bs == 1){
                        $("#customerProductId").selectpicker('destroy').hide(0).after('<button type="button" class="btn btn-success btn-label" onclick="addCustomerProduct()"><label><i class="mdi mdi-plus"></i></label>新增产品</button>')
                    }else{
                        $("#customerProductIdEdit").selectpicker('destroy').hide(0).after('<button type="button" class="btn btn-success btn-label" onclick="addCustomerProduct()"><label><i class="mdi mdi-plus"></i></label>新增产品</button>')
                    }

                } else {
                    var html = '';
                    $.each(data.data, function(n, value) {
                        html += "<option value=" + value.customerProductId + ">" +  value.productName + "</option>";
                    });
                    if(bs ==1){
                        $("#customerProductId").html(html).selectpicker('refresh');
                    }else{
                        $("#customerProductIdEdit").html(html).selectpicker('refresh');
                    }

                }
            } else {
                alert("请求失败");
            }
        }),
        error: (function (res) {
            alert("请求失败");
        })
    });

    //联系人列表下拉框
    $.ajax({
        type: 'POST',
        dataType: "json",
        url: '/opportunity/contactByCustomerIdList',
        cache : false,
        data:{
            customerId : customerId
        },
        async : false,
        success: (function (data) {
            if (data.code == "000000") {
                $('#addContact').remove();      // 初始化删除添加按钮
                if (data.data.length == 0) {
                    if(bs == 1){
                        $("#contactId").selectpicker('destroy').hide(0).after('<button type="button" class="btn btn-success btn-label" onclick="addContact()"><label><i class="mdi mdi-plus"></i></label>新增联系人</button>')
                    }else{
                        $("#contactIdEdit").selectpicker('destroy').hide(0).after('<button type="button" class="btn btn-success btn-label" onclick="addContact()"><label><i class="mdi mdi-plus"></i></label>新增联系人</button>')
                    }

                } else {
                    var html = '';
                    $.each(data.data, function(n, value) {
                        html += "<option value=" + value.contactId + ">" +  value.contactName+"_"+value.contactInformation + "</option>";
                    });
                    if(bs == 1){
                        $("#contactId").html(html).selectpicker('refresh');
                    }else{
                        $("#contactIdEdit").html(html).selectpicker('refresh');
                    }

                }
            } else {
                alert("请求失败");
            }
        }),
        error: (function (res) {
            alert("请求失败");
        })
    });
}

/**
 * 新增产品点击事件
 */
function addCustomerProduct(){
    parent.$(parent.document).data('multitabs').create({
        iframe : true,
        title : '新增产品',
        url : "/front/productManager/addProduct?productBs=3"
    }, true)
}


/**
 * 新增联系人
 */
function addContact(){
    parent.$(parent.document).data('multitabs').create({
        iframe : true,
        title : '新增联系人',
        url : "/front/contactManager/addContact?customerId=" + customerId + "&contactBs=1"  //联系人返回标识 1客户详情-->新增商机-->新增联系人
    }, true);
}

/**
 * 新增商机
 */
function saveOpportunity() {
    var opportunityTitle = $('#opportunityTitle').val(); //商机标题
    var customerProductId= $('#customerProductId').val();  //产品id
    var opportunityTheme= $('#opportunityTheme').val();  //商机主题
    var contactId = $('#contactId').val();  //客户联系人
    var opportunityContact = $('#opportunityContact').val();  //商机联系人
    var opportunityStatus= $('#opportunityStatusAdd').val();  //商机状态
    var lostOrderFriend = $('#lostOrderFriend').val();  //输单友商
    var estimatedSigningTime = $('#estimatedSigningTimeAdd').val();  //预计签单时间
    var lastFollowUpTime = $('#lastFollowUpTime').val();  //最后跟进时间
    var nextFollowUpTime = $('#nextFollowUpTime').val();  //下次跟进时间
    var estimatedSalesAmount = $('#estimatedSalesAmount').val();  //预计销售金额
    var possibilitySigning = $('#possibilitySigning').val();  //签单可能性
    var opportunityType = $('#opportunityType').val(); //商机类型
    var opportunityAcquisitionTime = $('#opportunityAcquisitionTime').val(); //商机获取日期
    var opportunitySource = $('#opportunitySource').val(); //商机来源
    var remarks = $('#remarks').val(); //备注


    //联系人姓名为空判断
    var contactNameReg = /^[\u4e00-\u9fa5A-Za-z0-9_-]+[\)）（，；\(\.\%。\u4e00-\u9fa5A-Za-z0-9_-]?$/;
    var pattern = new RegExp(contactNameReg);
    if(!opportunityTitle){
        promptInfo("商机标题不能为空！");
        return;
    }else{
        if(!pattern.test(opportunityTitle)) {
            promptInfo("请输入正确的商机标题");
            return;
        }
    }

    //产品名称为空判断
    if(!customerProductId){
        promptInfo("产品名称不能为空！");
        return;
    }


    //商机主题为空判断
    if(!opportunityTheme){
        promptInfo("商机主题不能为空！");
        return;
    }

    //客户联系人为空判断
    if(!contactId){
        promptInfo("客户联系人不能为空！");
        return;
    }

    //商机联系人
    if(!opportunityContact){
        promptInfo("商机联系人不能为空！");
        return;
    }else{
        if(!pattern.test(opportunityContact)) {
            promptInfo("请输入正确的商机联系人");
            return;
        }
    }

    //商机状态
    if(!opportunityStatus){
        promptInfo("商机状态不能为空！");
        return;
    }


    //输单友商为空判断
    if(!lostOrderFriend){
        promptInfo("输单友商不能为空！");
        return;
    }else{
        if(!pattern.test(lostOrderFriend)) {
            promptInfo("请输入正确的输单友商");
            return;
        }
    }

    //预计签单时间为空判断
    if(!estimatedSigningTime){
        promptInfo("预计签单时间不能为空！");
        return;
    }

    //最后跟进时间为空判断
    if(!lastFollowUpTime){
        promptInfo("最后跟进时间不能为空！");
        return;
    }

    //下次跟进时间
    if(!nextFollowUpTime){
        promptInfo("下次跟进时间不能为空！");
        return;
    }

    //预计销售金额为空判断
    var priceReg = /(^[1-9]\d*(\.\d{1,2})?$)|(^0(\.\d{1,2})?$)/;
    var pricePattern = new RegExp(priceReg);
    if (!estimatedSalesAmount) {
        promptInfo("预计销售金额不能为空！");
        return;
    }else{
        if(!pricePattern.test(estimatedSalesAmount)) {
            promptInfo("请输入正确的预计销售金额");
            return;
        }
    }

    //签单可能性为空判断
    //var possibilitySigningReg = /^\d{1,}$/; // 非负整数
    //var possibilitySigningPattern = new RegExp(possibilitySigningReg);
    if (!possibilitySigning) {
        promptInfo("签单可能性不能为空！");
        return;
    }
    // else {
    //     if (!possibilitySigningPattern.test(possibilitySigning)) {
    //         promptInfo("签单可能性必须是整数！");
    //         return;
    //     }
    // }

    //商机类型为空判断
    if (!opportunityType) {
        promptInfo("商机类型不能为空！");
        return;
    }

    //商机获取日期为空判断
    if (!opportunityAcquisitionTime) {
        promptInfo("商机获取日期不能为空！");
        return;
    }

    //商机来源为空判断
    if (!opportunitySource) {
        promptInfo("商机来源不能为空！");
        return;
    }

    //备注为空判断
    if (!remarks) {
        promptInfo("备注不能为空！");
        return;
    }

    var jsonData = {
        opportunityTitle : opportunityTitle, //商机标题
        customerProductId : customerProductId,  //产品名称
        opportunityTheme : opportunityTheme,  //商机主题
        contactId  : contactId,  //客户联系人
        opportunityContact  : opportunityContact,  //商机联系人
        opportunityStatus : opportunityStatus,  //商机状态
        lostOrderFriend  : lostOrderFriend,  //输单友商
        estimatedSigningTime  : estimatedSigningTime,  //预计签单时间
        lastFollowUpTime  : lastFollowUpTime,  //最后跟进时间
        nextFollowUpTime  : nextFollowUpTime,  //下次跟进时间
        estimatedSalesAmount : estimatedSalesAmount,  //预计销售金额
        possibilitySigning : possibilitySigning,  //签单可能性
        opportunityType : opportunityType, //商机类型
        opportunityAcquisitionTime : opportunityAcquisitionTime, //商机获取日期
        opportunitySource : opportunitySource, //商机来源
        remarks : remarks, //备注
        customerId : customerId
    };

    $.ajax({
        url: '/opportunity/addOpportunity',
        type: 'POST',
        dataType: "json",
        contentType: "application/json;charset=utf-8",
        data: JSON.stringify(jsonData),
        success: (function (data) {
            if (data.code == "000000") {
                $('#addOpportunityModel').modal('hide');
                $.alert("操作成功！");
                opportunityListc();
            }else {
                alert("操作失败");
            }
        }),
        error: (function () {
            alert("失败");
        })
    });

}

function addOpportunityHide() {
    $('#addOpportunityModel').modal('hide');
}

function getOpportunityId(opportunityId) {
    opportunityaddAndEdit(2);


    $('#updateOpportunityModel').modal('show');
    /*$('#updateOpportunityModel').find('select').selectpicker({
        liveSearch: true,
        liveSearchPlaceholder: '请输入要搜索的内容',
        sanitize: true,
        size: 10,
        windowPadding: '10'
    });*/

    $.ajax({
        url: '/opportunity/getOpportunityId',
        type: 'POST',
        dataType: "json",
        data: {
            opportunityId : opportunityId
        },
        success: (function (data) {
            if (data.code == "000000") {
                $('#opportunityId').val(data.data.opportunityId);
                $('#opportunityTitleEdit').val(data.data.opportunityTitle); //商机标题
                $('#customerProductIdEdit').selectpicker('val', data.data.customerProductId);//产品名称
                $('#opportunityThemeEdit').val(data.data.opportunityTheme);  //商机主题
                $('#contactIdEdit').selectpicker('val', data.data.contactId);///客户联系人
                $('#opportunityContactEdit').val(data.data.opportunityContact);  //商机联系人
                $('#opportunityStatusEdit').val(data.data.opportunityStatus);  //商机状态
                $('#lostOrderFriendEdit').val(data.data.lostOrderFriend);  //输单友商
                $('#estimatedSigningTimeEdit').val(dateFormat(data.data.estimatedSigningTime,null,null));  //预计签单时间
                $('#lastFollowUpTimeEdit').val(dateFormat(data.data.lastFollowUpTime,null,null));  //最后跟进时间
                $('#nextFollowUpTimeEdit').val(dateFormat(data.data.nextFollowUpTime,null,null));  //下次跟进时间
                $('#estimatedSalesAmountEdit').val(data.data.estimatedSalesAmount);  //预计销售金额
                $('#possibilitySigningEdit').val(data.data.possibilitySigning);  //签单可能性
                $('#opportunityTypeEdit').val(data.data.opportunityType); //商机类型
                $('#opportunityAcquisitionTimeEdit').val(dateFormat(data.data.opportunityAcquisitionTime,null,null)); //商机获取日期
                $('#opportunitySourceEdit').val(data.data.opportunitySource); //商机来源
                $('#remarksEdit').val(data.data.remarks); //备注
                editOpportunity();

            }else {
                alert("操作失败");
            }
        }),
        error: (function () {
            alert("失败");
        })
    });

}

function deleteOpportunity(opportunityId) {
    console.log(opportunityId);
    $.confirm({
        title: '提示',
        content: '<strong>\n' +
            '<p>确定要删除这一条商机吗?</p>\n' +
            '</strong>',
        icon: 'glyphicon glyphicon-question-sign',
        buttons: {
            ok: {
                text: '确定',
                btnClass: 'btn-primary',
                action: function() {
                    $.ajax({
                        url: '/opportunity/updateOpportunity',
                        type: 'POST',
                        dataType: "json",
                        data: {
                            opportunityId : opportunityId
                        },
                        success: (function (data) {
                            if (data.code == "000000") {
                                $.alert("操作成功！");
                                opportunityListc();
                            }else {
                                $.alert("操作失败");
                            }
                        }),
                        error: (function () {
                            $.alert("失败");
                        })
                    });
                }
            },
            cancel: {
                text: '取消',
                btnClass: 'btn-primary',
                action: function () {

                }
            }
        }
    });
}


/**
 * 修改商机
 */
function editOpportunity() {
    // 初始化日期选择控件
    $('form .date-inputSjEdit').datepicker({
        language: "zh-CN",
        autoclose: true,
        clearBtn: true,
        todayHighlight: true,
        format: "yyyy-mm-dd"
    });

    $('#updateOpportunityModel').modal('show');
}

//修改商机
function updateOpportunity() {
    var opportunityTitle = $('#opportunityTitleEdit').val(); //商机标题
    var customerProductId= $('#customerProductIdEdit').val();  //产品名称
    var opportunityTheme= $('#opportunityThemeEdit').val();  //商机主题
    var contactId = $('#contactIdEdit').val();  //客户联系人
    var opportunityContact = $('#opportunityContactEdit').val();  //商机联系人
    var opportunityStatus= $('#opportunityStatusEdit').val();  //商机状态
    var lostOrderFriend = $('#lostOrderFriendEdit').val();  //输单友商
    var estimatedSigningTime = $('#estimatedSigningTimeEdit').val();  //预计签单时间
    var lastFollowUpTime = $('#lastFollowUpTimeEdit').val();  //最后跟进时间
    var nextFollowUpTime = $('#nextFollowUpTimeEdit').val();  //下次跟进时间
    var estimatedSalesAmount = $('#estimatedSalesAmountEdit').val();  //预计销售金额
    var possibilitySigning = $('#possibilitySigningEdit').val();  //签单可能性
    var opportunityType = $('#opportunityTypeEdit').val(); //商机类型
    var opportunityAcquisitionTime = $('#opportunityAcquisitionTimeEdit').val(); //商机获取日期
    var opportunitySource = $('#opportunitySourceEdit').val(); //商机来源
    var remarks = $('#remarksEdit').val(); //备注

    //商机标题为空判断
    var contactNameReg = /^[\u4e00-\u9fa5A-Za-z0-9_-]+[\)）（，；\(\.\%。\u4e00-\u9fa5A-Za-z0-9_-]?$/;
    var pattern = new RegExp(contactNameReg);
    if(!opportunityTitle){
        promptInfo("商机标题不能为空！");
        return;
    }else{
        if(!pattern.test(opportunityTitle)) {
            promptInfo("请输入正确的商机标题");
            return;
        }
    }

    //产品名称为空判断
    if(!customerProductId){
        promptInfo("产品名称不能为空！");
        return;
    }

    //商机主题为空判断
    if(!opportunityTheme){
        promptInfo("商机主题不能为空！");
        return;
    }

    //客户联系人为空判断
    if(!contactId){
        promptInfo("客户联系人不能为空！");
        return;
    }

    //商机联系人
    if(!opportunityContact){
        promptInfo("商机联系人不能为空！");
        return;
    }else{
        if(!pattern.test(opportunityContact)) {
            promptInfo("请输入正确的商机联系人");
            return;
        }
    }

    //商机状态
    if(!opportunityStatus){
        promptInfo("商机状态不能为空！");
        return;
    }


    //输单友商为空判断
    if(!lostOrderFriend){
        promptInfo("输单友商不能为空！");
        return;
    }else{
        if(!pattern.test(lostOrderFriend)) {
            promptInfo("请输入正确的输单友商");
            return;
        }
    }

    //预计签单时间为空判断
    if(!estimatedSigningTime){
        promptInfo("预计签单时间不能为空！");
        return;
    }

    //最后跟进时间为空判断
    if(!lastFollowUpTime){
        promptInfo("最后跟进时间不能为空！");
        return;
    }

    //下次跟进时间
    if(!nextFollowUpTime){
        promptInfo("下次跟进时间不能为空！");
        return;
    }

    //预计销售金额为空判断
    var priceReg = /(^[1-9]\d*(\.\d{1,2})?$)|(^0(\.\d{1,2})?$)/;
    var pricePattern = new RegExp(priceReg);
    if (!estimatedSalesAmount) {
        promptInfo("预计销售金额不能为空！");
        return;
    }else{
        if(!pricePattern.test(estimatedSalesAmount)) {
            promptInfo("请输入正确的预计销售金额");
            return;
        }
    }

    //签单可能性为空判断
    //var possibilitySigningReg = /^\d{1,}$/; // 非负整数
    //var possibilitySigningPattern = new RegExp(possibilitySigningReg);
    if (!possibilitySigning) {
        promptInfo("签单可能性不能为空！");
        return;
    }
    // else {
    //     if (!possibilitySigningPattern.test(possibilitySigning)) {
    //         promptInfo("签单可能性必须是整数！");
    //         return;
    //     }
    // }

    //商机类型为空判断
    if (!opportunityType) {
        promptInfo("商机类型不能为空！");
        return;
    }

    //商机获取日期为空判断
    if (!opportunityAcquisitionTime) {
        promptInfo("商机获取日期不能为空！");
        return;
    }

    //商机来源为空判断
    if (!opportunitySource) {
        promptInfo("商机来源不能为空！");
        return;
    }

    //备注为空判断
    if (!remarks) {
        promptInfo("备注不能为空！");
        return;
    }

    var jsonData = {
        opportunityId : $('#opportunityId').val(),
        opportunityTitle : opportunityTitle, //商机标题
        customerProductId : customerProductId,  //产品名称
        opportunityTheme : opportunityTheme,  //商机主题
        contactId  : contactId,  //客户联系人
        opportunityContact  : opportunityContact,  //商机联系人
        opportunityStatus : opportunityStatus,  //商机状态
        lostOrderFriend  : lostOrderFriend,  //输单友商
        estimatedSigningTime  : estimatedSigningTime,  //预计签单时间
        lastFollowUpTime  : lastFollowUpTime,  //最后跟进时间
        nextFollowUpTime  : nextFollowUpTime,  //下次跟进时间
        estimatedSalesAmount : estimatedSalesAmount,  //预计销售金额
        possibilitySigning : possibilitySigning,  //签单可能性
        opportunityType : opportunityType, //商机类型
        opportunityAcquisitionTime : opportunityAcquisitionTime, //商机获取日期
        opportunitySource : opportunitySource, //商机来源
        remarks : remarks //备注
    };

    $.ajax({
        url: '/opportunity/updateOpportunityById',
        type: 'POST',
        dataType: "json",
        contentType: "application/json;charset=utf-8",
        data: JSON.stringify(jsonData),
        success: (function (data) {
            if (data.code == "000000") {
                $('#updateOpportunityModel').modal('hide');
                $.alert("操作成功！");
                opportunityListc();
            }else {
                alert("操作失败");
            }
        }),
        error: (function () {
            alert("失败");
        })
    });

}

function updateOpportunityHide() {
    $('#updateOpportunityModel').modal('hide');
}

function promptInfo(content) {
    $.alert({
        title: '温馨提示',
        content: content,
        buttons: {
            confirm: {
                text: '确认',
                btnClass: 'btn-primary'
            }
        }
    });
}
//展开与收起
$(document).ready(function (e) {
    $("#hideShow").click(function (e) {
        $("#showContant").toggle();
    });
});

//新增兑换弹框
function addExchange(){
    addBeforeExchangeDetail();
    addAfterExchangeDetail();
    $('#addExchangeModel').modal('show')
}

//新增兑换-兑换前产品表格
function addBeforeExchangeDetail(){
    $addBeforeExchange.bootstrapTable('destroy');
    $addBeforeExchange.bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        // url: '/customerController/orderList',//请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'createTm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'productOrderId',
        idField: 'productOrderId',
        pageSize: 10,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: "[10]",//可供选择的每页的行数
        // queryParams: function (params) {
        //     //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
        //     var temp = {
        //         pageSize: params.limit,                         //页面大小
        //         pageIndex: (params.offset / params.limit) + 1,   //页码
        //         sortName: params.sort,      //排序列名
        //         sortOrder: params.order, //排位命令（desc，asc）
        //         customerId : customerId
        //     };
        //     return temp;
        // },
        columns: [
            {title: '主键', field: 'productOrderId', visible: false},
            {title: '产品名称', field: 'index', align: 'left',valign: 'middle'},
            {title: '划扣次数',field: 'orderNumber',align: 'left', valign: 'middle'},
            {title: '操作',field: 'operate',align: 'right',formatter: beforeExchangeForm}
        ],
        data:[{index:1}],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //加载成功时执行
            $("[data-toggle='tooltip']").tooltip();//加这个是为了让操作列的提示图标显示在上方
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}

//新增兑换-兑换后产品表格
function addAfterExchangeDetail(){
    $addAfterExchange.bootstrapTable('destroy');
    $addAfterExchange.bootstrapTable({
        classes: 'table table-bordered table-hover table-striped',
        // url: '/customerController/orderList',//请求地址
        method: 'post',//请求方式
        contentType: "application/x-www-form-urlencoded",//请求内容类型
        dataType: "json",//数据类型
        striped: true,//是否显示行间隔色
        sortable: true,//是否启用排序
        sortOrder: "desc",//排序方式
        sortName: 'createTm',//排序字段
        cache: false,//是否使用缓存
        showColumns: false,//显示隐藏列
        showRefresh: false,//显示刷新按钮
        showToggle: false,//切换显示样式
        showFooter: false,//显示Table脚部
        pagination: true,//是否显示分页
        showPaginationSwitch: false,//是否显示分页按钮
        clickToSelect: false,//是否启用点击选中行
        singleSelect: false,
        minimumCountColumns: 2,//最少要显示的列数
        undefinedText: '',//cell没有值时显示
        sidePagination: "server",//分页方式：client客户端分页，server服务端分页
        uniqueId: 'productOrderId',
        idField: 'productOrderId',
        pageSize: 10,//每页的记录行数
        pageNumber: 1,//初始化加载第1页，默认第1页
        pageList: "[10]",//可供选择的每页的行数
        // queryParams: function (params) {
        //     //这里的键的名字和控制器的变量名必须一直，这边改动，控制器也需要改成一样的
        //     var temp = {
        //         pageSize: params.limit,                         //页面大小
        //         pageIndex: (params.offset / params.limit) + 1,   //页码
        //         sortName: params.sort,      //排序列名
        //         sortOrder: params.order, //排位命令（desc，asc）
        //         customerId : customerId
        //     };
        //     return temp;
        // },
        columns: [
            {title: '主键', field: 'productOrderId', visible: false},
            {title: '产品名称', field: 'index', align: 'left',valign: 'middle'},
            {title: '划扣次数',field: 'orderNumber',align: 'left', valign: 'middle'},
            {title: '操作',field: 'operate',align: 'right',formatter: beforeExchangeForm}
        ],
        data:[{index:1}],
        responseHandler: function (result) {
            if (result.code == "000000") {
                var obj = {
                    "rows": result.data,
                    "total": result.totalRecords//总条数
                };
            } else {
                var obj = {
                    "total": 0,
                    "rows": [],
                }
            }
            return obj;
        },
        onLoadSuccess: function () {
            //加载成功时执行
            $("[data-toggle='tooltip']").tooltip();//加这个是为了让操作列的提示图标显示在上方
        },
        onLoadError: function (status) {
            if (status == 403) {
                alert("权限不足！禁止访问！");
            } else {
                //加载失败时执行
                alert("加载失败！");
            }
        },
        formatLoadingMessage: function () {
            return "请稍等，加载中...";
        },
        formatNoMatches: function () {
            return '无符合条件的记录';
        },
    });
}
function beforeExchangeForm(value, row, index){
    return '<button class="btn btn-default" id="detail">删除</button>'
}

getCustomerContactPersonSelect();
/**
 *客户联系人下拉加载（先选择客户名称调用）
 */
function getCustomerContactPersonSelect(contract){
    $.ajax({
        type: 'GET',
        dataType: "json",
        url: '/customer/selectContactPersonListByCustomerId?customerId=' + customerId,
        success: (function (data) {
            if (data.code == "000000") {
                var html = '';
                $.each(data.data, function(n, value) {
                    if(contract != null && contract.contactId == value.customerContactPersonId) {
                        html += '<option data-phone="' + value.contactInformation + '" value="' + value.customerContactPersonId + '"  selected>' + value.contactName + ' — '+ value.contactInformation +'</option>';
                    }else {
                        html += '<option data-phone="' + value.contactInformation + '" value="' + value.customerContactPersonId + '">' + value.contactName + ' — '+ value.contactInformation +'</option>';
                    }
                });

                $('#customerContractList').html(html).attr('disabled', false).selectpicker('refresh');
                $('#customerContractList').on('changed.bs.select', function (e, clickedIndex, isSelected, previousValue) {
                    $('#phoneNumber').val($(this).find('option').eq(clickedIndex).data('phone'));
                    if($('#customerForm').data('bootstrapValidator')!=undefined){
                        $('#customerForm').data('bootstrapValidator')
                            .updateStatus('phoneNumber', 'NOT_VALIDATED',null)
                            .validateField('phoneNumber');
                    }

                });
                if (contract) {
                    $('#phoneNumber').val($('#customerContractList option:selected').data('phone'));
                }
            } else {
                alert("客户联系人下拉请求失败");
            }
        }),
        error: (function (res) {
            alert("客户联系人下拉请求失败");
        })
    });
}

/**
 * 上传图片
 * */
//uploadImg fileSelected
var $fileUpLoad=$("#contractImg");
function uploadImg(type) {
    if(type=='contractImg'){
        $fileUpLoad=$("#contractImg")
    }else{
        $fileUpLoad=$("#examineImgBox")
    }
    let fileToUpLoad=$fileUpLoad.prop('files')[0];
    var formFile = new FormData();
    formFile.append("file", fileToUpLoad);
    var data = formFile;
    var imgId;
    $.ajax({
        url: '/file/uploadByOneFile',
        data: data,
        type: "POST",
        dataType: "json",
        async: false,
        cache: false,
        processData: false,
        contentType: false,
        success: function (data) {
            if (data.code == "000000") {
                $fileUpLoad.prev().val(data.data.fileId);
                // obj.next('input.image-id').val(data.data.fileId)

                imgId = data.data.fileId;
            } else {
            }
        },
        error: (function (res) {
            $.alert(res);
        })
    });
    return imgId;
}

/**
 * 续费确定保存
 */
function renewSure(){
    //获取选中行的数据
    var productData = $('#renewTable').bootstrapTable('getSelections');
    var productArr = [];                                                            // 产品列表数组
    for (var i = 0; i < productData.length; i++) {
        if(productData[i].productDiscountPrice==''){
            promptInfo("当前报价不能为空!");
            return;
        }
        var rowData = {
            productId: productData[i].customerProductId,                            // 产品id
            productName: productData[i].productName,                                // 产品名称
            productCategories: productData[i].productCategories,                    // 产品分类--0:非会员;1:会员；
            productOriginalPrice: productData[i].productOriginalPrice,              // 原价
            productUnitPrice: productData[i].productUnitPrice,                      // 单价
            productMemberPrice: productData[i].productMemberPrice,                  // 会员价
            productFinalPrice: productData[i].productDiscountPrice,                 // 成交价
            productTotalPrice: productData[i].productTotalPrice,                    // 总计价格
            productQuantity: productData[i].productNumber,                          // 数量
            productCode:productData[i].productCode,                                 // 产品编码
        };
        productArr.push(rowData);
    }

    //验证
    var bootstrapValidator = $("#renewDetailForm").data('bootstrapValidator');
    bootstrapValidator.validate();
    if (!bootstrapValidator.isValid()) {
        return;
    }

    //客户id
    var customerId = "";
    //客户名称
    var customerName = "";
    //客户类型
    var customerType = "";
    //客户邮箱
    var customerEmail = "";
    //合同原来起始时间
    var contractOldStartDate = "";
    //合同原来结束时间
    var contractOldEndDate = "";

    //联系人id
    var contactId=$("#customerContractList").val();
    //联系人名称
    var contactName = $.trim(($('#customerContractList').find('option:selected').text().split('—'))[0]);
    //联系方式
    var contactDetails = $.trim(($('#customerContractList').find('option:selected').text().split('—'))[1]);
    //会员主合同
    var masterMembershipContract = "";
    //合同起止日期
    var contractPeriodValidity = $("#contractDate").val().split('至');
    // 起止时间-开始时间
    var contractNewStartDate = $.trim(contractPeriodValidity[0]);
    // 起止时间-结束时间
    var contractNewEndDate = $.trim(contractPeriodValidity[1]);
    //付款账号
    //var paymentAccount = $('#paymentAccount').val();
    //支付方式
    var paymentMethod = $('#defray').val();
    //附加费用
    //金额
    var orderSurcharge = $('#surcharge').val();
    //备注
    var orderSurchargeRemark = $('#orderSurchargeRemark').val();


    //合同实际总金额
    var contractActualTotalAmount = $("#realAmount").text();
    //合同优惠总金额
    var contractDiscountTotalAmount = $("#discountAmount").text();
    //合同 总金额
    var contractTotalAmount = $("#totalAmount").text();
    //应收款
    var contractReceivables= $("#receivables").text();

    //合同附件
    var contractAnnexId = $('#contractPic').val();
    //合同审核
    var reviewAnnexId = $('#examinedPic').val();

    //审核备注
    var contractReviewNotes = $('#contractReviewNotes').val();


    $.ajax({
        type: 'GET',
        async:false,
        dataType: "json",
        url: '/customerContract/selectContractByContractNumber?contractNumber=' + renewContractNumber,
        success: (function (data) {
            if (data.code == "000000") {
                customerId = data.data.customerId;
                customerName = data.data.customerName;
                customerType = data.data.customerType;
                customerEmail = data.data.customerEmail;
                contractOldStartDate = data.data.contractStartDate;
                contractOldEndDate = data.data.contractEndDate;
                masterMembershipContract = data.data.contractId;
            } else {
                alert("获取合同信息请求失败");
            }
        }),
        error: (function (res) {
            alert("获取合同信息请求失败");
        })
    });

    var jsonData = {
        "contractType":'4',
        "customerId":customerId,
        "customerName":customerName,
        "customerType":customerType,
        "contactId":contactId,
        "contactName":contactName,
        "contactDetails":contactDetails,
        "customerEmail":customerEmail,
        "masterMembershipContract":masterMembershipContract,
        "contractNewStartDate":contractNewStartDate,
        "contractNewEndDate":contractNewEndDate,
        //"paymentAccount":paymentAccount,
        "paymentMethod":paymentMethod,
        //"followRecordId":followRecordId,
        //"opportunityId":opportunityId,
        //"applyElectronicContract":applyElectronicContract,
        //"whetherKeepSecret":whetherKeepSecret,
        "contractOldStartDate":contractOldStartDate,
        "contractOldEndDate":contractOldEndDate,
        "contractTotalAmount":contractTotalAmount,
        "contractDiscountTotalAmount":contractDiscountTotalAmount,
        "contractActualTotalAmount":contractActualTotalAmount,
        "contractReceivables":contractReceivables,
        "contractReviewNotes":contractReviewNotes,
        //附加费用
        "orderSurcharge":orderSurcharge,
        "orderSurchargeRemark":orderSurchargeRemark,
        "contractAnnexId":contractAnnexId,
        "reviewAnnexId":reviewAnnexId,
        //"coDeveloperIdList":coDeveloperList,
        "customerContractProductAddQOList":productArr
    };
    console.log(jsonData);
    $.ajax({
        url: '/customerContract/addContractInformation',
        type: 'POST',
        dataType: "json",
        contentType: "application/json;charset=utf-8",
        data: JSON.stringify(jsonData),
        success: (function (data) {
            if(data.code == '000000'){
                $.alert({
                    title: '提示',
                    content: '保存成功！',
                    buttons: {
                        confirm: {
                            text: '确认',
                            btnClass: 'btn-primary',
                            action: function () {
                                //关闭弹框
                                $('#renewDetail').modal('hide');
                                //跳转到合同列表
                                openTab("合同列表","/front/contractManager/contractForm");
                                //刷新列表
                                refreshActivePane("/front/contractManager/contractForm");
                            }
                        }
                    }
                });
            } else if(data.code == 'CV0001'){
                //合同不能编辑
                $.alert(data.message);
            } else if(data.code == 'CV0002'){
                //没有会员产品合同不能保存
                $.alert(data.message);
            }else {
                $.alert("保存失败");
            }
        }),
        error: (function (res) {
            $.alert("保存失败");
        })
    })

}



